Comment vérifier si Ubuntu Desktop ou Server est installé?

28

J'ai un hébergement partagé. J'ai accès à shell. Le système d'exploitation est Ubuntu et je souhaite vérifier s'il s'agit de la version du serveur ou de la version de bureau.

Lorsque je me connecte via le shell, il affiche les informations suivantes:

Linux [server-name] 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
Ubuntu 10.04.1 LTS
    
posée Naveed 10.11.2010 - 21:45
la source

10 réponses

18

Cette réponse n’est pas aussi nette que certaines personnes le pensent. Vous pouvez faire l’installation d’un package ubuntu-standard et l’utiliser en tant que serveur. Vous pouvez utiliser ubuntu-minimal en tant que serveur. Vous pouvez prendre ubuntu-desktop et le casser afin qu'il n'utilise pas X ... ou même laisser X là pour l'administration (eww). Vous pouvez changer les paquets du noyau de -server à -generic en -rt etc. Vous pouvez changer le motd ou même simplement le mettre à jour à partir d’une version où le motd n’est pas aussi long que le nouveau (aucun de mes serveurs n’a été sorti). avec tout ce que guff - probablement parce qu'ils sont mis à niveau à partir d'anciens LTS).

Je suppose que les questions que nous devrions tous nous poser sont les suivantes: Pourquoi est-ce important? Qu'essayez-vous d'apprendre? Quelle différence cela fait-il pour vous?

Si vous essayez d’exécuter quelque chose de graphique, vérifiez ce dont vous avez réellement besoin (X, x11vnc, etc.). Si vous essayez de vérifier qu’il n’ya pas d’interface graphique, faites de même!

    
réponse donnée Oli 10.11.2010 - 23:19
la source
29
dpkg -l ubuntu-desktop 

vous dira si les composants de bureau suggérés sont installés.

uname -a

vous dira si le serveur ou le noyau générique est utilisé.

"Poste de travail ou serveur" n'est pas une binaire. Il est possible d'installer certains composants de bureau sur une machine installée à l'origine en tant que serveur, etc.

Vous devez choisir le paquet que vous voulez utiliser comme distinction clé entre "serveur" et "bureau". Peut-être que xserver-xorg est un bon choix, même si certains serveurs l’auront également pour les dépendances de paquets ou pour prendre en charge les bureaux distants.

    
réponse donnée poolie 10.11.2010 - 21:54
la source
10

il peut être vérifié en tapant cat /etc/motd . La sortie sera différente sur le serveur et différente sur l’édition de bureau.

Bureau:

Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

Serveur:

Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

  System information as of Wed Nov 10 20:54:11 UTC 2010

  System load:  0.07               Processes:           78
  Usage of /:   30.4% of 14.76GB   Users logged in:     1
  Memory usage: 38%                IP address for eth0: XXXXXXXX
  Swap usage:   0%

  Graph this data and manage this system at https://landscape.canonical.com/
---------------------------------------------------------------------
At the moment, only the core of the system is installed. To tune the 
system to your needs, you can choose to install one or more          
predefined collections of software by running the following          
command:                                                             

   sudo tasksel --section server  

Il est également intéressant de noter que ce fichier est facilement éditable par sudo, ce qui est fait très souvent, car c’est le message que l’utilisateur voit s’il se connecte via ssh.

    
réponse donnée Paweł Karpiński 10.11.2010 - 23:00
la source
4

Ce n'est peut-être pas le moyen le plus rapide ou le plus pur de le savoir, mais exécutez:

dpkg --get-selections | grep linux-image | grep -v deinstall

Si le paquet linux-image actuellement installé contient le mot "serveur", vous exécutez le serveur Ubuntu.

Par exemple, le dernier package de noyau actuel pour le bureau Ubuntu 10.10:

linux-image-2.6.35-22-generic

Et le serveur:

linux-image-2.6.35-22-server

Pour un package plus générique qui devrait être identique dans différentes versions d'Ubuntu, linux-image-generic est le package par défaut pour le bureau Ubuntu et linux-image-server est le paramètre par défaut pour l'édition du serveur.

    
réponse donnée ayan4m1 10.11.2010 - 21:50
la source
4

Il n’existe pas de réponse clairement définie, simplement formulée pour cette question.

Il est possible de charger les fonctionnalités du bureau sur le serveur et de les supprimer du bureau. Le problème fondamental est quels packages font partie de la fonctionnalité du serveur et obtiendront la période de prise en charge et de mises à jour supplémentaires.

La meilleure réponse (IMHO) se trouve dans une question sur le tableau de bord (à partir de 2008):

quelle est la différence entre l'édition pour serveur et celle pour ordinateur?

lien

    
réponse donnée david6 24.11.2011 - 08:46
la source
2

N'oubliez pas qu'il n'y a pas de différence fondamentale entre les éditions Desktop et Server.

Toutefois, il est fort probable que votre fournisseur d’hébergement n’a pas tous les éléments graphiques, tels que GNOME, en haut de la pile, car ils ne sont pas nécessaires. Les packages installés en font un serveur.

Vous pourriez être intéressé par le script ubuntu-maintenance-check ( link ) qui indique le cycle de maintenance de chaque package installé - ceux qui ont une période plus longue sont des packages de serveur.

    
réponse donnée 8128 10.11.2010 - 22:02
la source
2

J'exécute la découverte sur un grand réseau et j'essaie de faire la distinction entre LINUX installé en tant que station de travail et serveur (car nous les traiterons différemment).

J'espérais un attribut ou un fichier qui contenait Ubuntu-Server au lieu d'Ubuntu.

Je trouve des fichiers intéressants dans / var / log / installer:

media-info dit "Ubuntu-Server" pour le serveur et juste "Ubuntu" pour le bureau. syslog affiche les mêmes informations pour le "cdrom"

Ces deux éléments sont utiles et je peux les utiliser avec des informations sur le matériel. Cela devrait vous indiquer au moins quelle version a été installée à l'origine.

    
réponse donnée Sean Perdew 13.08.2014 - 20:20
la source
0

Aucune des solutions ci-dessus n'a très bien fonctionné pour moi. Parfois, un système n'a pas de mot, ou peut-être l'administrateur l'a changé, etc. Je ne suis même pas certain pourquoi pourquoi la réponse donnée ci-dessus était la réponse "correcte". Voici ce que j'ai fini par utiliser.

#!/bin/bash
__check_desktop() {
  if [ '(dpkg-query -W -f='${Status}' ubuntu-desktop 2>/dev/null | grep -c "ok installed")' -eq 1 ]; then
    err "Ubuntu Server is required, but it appears that you are running Ubuntu Desktop"
    exit 1
  fi
}

# Now just call the function:
__check_desktop
    
réponse donnée Clayton Dukes 01.02.2016 - 16:06
la source
0

"Presque" la même question a été posée ici: Connaître le serveur ou le bureau de distribution Ubuntu

Je voudrais poster ma réponse ici aussi car elle contient quelques nouvelles astuces pour vérifier si vous êtes sur une édition de bureau ou sur un serveur.

Comme mentionné dans de précédents articles, il est difficile de déterminer si vous utilisez une édition de bureau ou de serveur car tous les packages peuvent être installés ou supprimés.

Si vous êtes dans un environnement cohérent et prévisible, il ne devrait pas être très difficile de déterminer s'il s'agit d'un poste de travail ou d'un serveur.

J'utilise uniquement ubuntu-desktop (vanilla) ou le serveur ubuntu. Pour moi, le dpkg -l ubuntu-desktop est une méthode très fiable pour déterminer s’il s’agit d’un poste de travail ou d’un serveur.

Comme mentionné dans l'article lié, il n'est pas facile de déterminer si vous utilisez une édition de bureau ou de serveur car tous les packages peuvent être installés ou supprimés.

Voici la fonction que j'utilise pour mes scripts. En gros, il vérifie si xserver-common ou xwayland sont installés. Si l’un d’eux est installé, c’est un système de bureau.

#!/usr/bin/env bash

check_if_desktop (){
  IS_DESKTOP="false"

  displayManager=(
    'xserver-common' # X Window System (X.Org) infrastructure
    'xwayland' # Xwayland X server
  )
  for i in "${displayManager[@]}"; do
    dpkg-query --show --showformat='${Status}\n' $i 2> /dev/null | grep "install ok installed" &> /dev/null
    if [[ $? -eq 0 ]]; then
      IS_DESKTOP="true"
    fi
  done
}

Voici quelques points à vérifier:

Par défaut, l'édition du serveur utilise le classique /etc/network/interfaces , tandis que l'édition de bureau fonctionne avec Network Manager. Vérifiez donc si Network Manager est installé

dpkg -l network-manager

Ou exécutez la commande nmcli (l'outil de ligne de commande pour NM) si vous recevez un message comme celui-ci:

The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager

la probabilité que vous utilisiez une édition de serveur est élevée. Mais gardez à l’esprit que vous pouvez modifier un serveur pour qu’il fonctionne avec NM.

Utilisez la commande suivante pour déterminer si les composants du bureau sont installés

dpkg -l ubuntu-desktop

Sur un serveur, vous recevrez un message comme celui-ci:

dpkg-query: no packages found matching ubuntu-desktop

Sur un bureau, vous recevrez un message vous indiquant la version installée

.

Recherchez les autres packages généralement présents sur le bureau:

dpkg -l unity (gnome, mate and so one) # Desktop environments
dpkg -l compiz (E17, fluxbox and so one) # Window manager
dpkg -l xorg # X window server

ou utiliser:

 dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"

vérifie si le serveur X est en cours d'exécution:

ps -e | grep X
sudo netstat -lp | grep -i Xorg

Recherchez des services uniquement disponibles sur un ordinateur de bureau:

La vérification des services dépend de votre version d’Ubuntu:

sudo service *servicename* status # on SysVinit 
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd
Les

services typiques sont:

  • lightdm
  • x11-common
  • gnome-shell

et quelques autres associés à certains dérivés

My application depends on server distribution

Même si cela n'a aucun sens d'exécuter une application serveur sur une édition de bureau, l'installation de toutes les dépendances de votre application sur l'édition de bureau ne devrait pas poser de problèmes et le faire fonctionner.

Pouvez-vous préciser pourquoi cela dépend de la distribution du serveur?

    
réponse donnée caracal 19.04.2016 - 23:05
la source
-1

Utilisation d'un exemple de script motd:

#!/bin/bash
if uname -r | grep -qs "\-server"; then
        echo "Server"
else
        echo "Desktop"
fi
    
réponse donnée Hítalo Silva 17.03.2015 - 19:47
la source

Lire d'autres questions sur les étiquettes