Recherchez la distribution Linux / Unix que vous utilisez (à partir de la ligne de commande) [dupliquer]

8

Lorsque vous utilisez un ordinateur Linux / BSD / Unix inconnu (par exemple par SSH) à partir de la ligne de commande, comment pouvez-vous savoir quelle distribution (et quelle version de cette distribution) vous utilisez?

Quelques options que j'ai essayées:

  • lsb_release --all: n'existe pas sur OpenSuSE 11.3; fonctionne sur Debian squeeze et Ubuntu 10.10.
  • uname --all: ne donne pas d'informations de distribution sur SuSE et Debian; fonctionne dans Ubuntu.
  • cat /etc/apt/sources.listvous pouvez voir à quels serveurs de distribution la machine se connecte pour les mises à jour. Évidemment, ne fonctionne que pour les distributions basées sur Debian. Ne fonctionnera pas si l'ordinateur a été configuré pour utiliser un serveur de référentiel personnalisé.

Malheureusement, aucun de ceux-ci ne semble fonctionner sur de nombreuses distributions. Existe-t-il une commande simple à vérifier?

Escargot mécanique
la source

Réponses:

11

Si Python 2.3 ou version ultérieure est installé, cela fonctionnera avec de nombreuses distributions :

python -c "import platform; print platform.dist()"
Patchs
la source
10

chat / proc / version

pourrait faire l'affaire.

Compagnon Geek
la source
3
Il existe de nombreux Unix qui ne prennent pas en charge le pseudo-système de fichiers / proc.
dmckee --- chaton ex-modérateur
1

Il n'y a pas de commande magique unique qui fonctionne dans toutes les distributions - vous devrez essayer une série de choses pour trouver une réponse.

Les choses à essayer inclure certains que vous avez fait, comme lsb_release, et d' autres que vous avez pas envie de regarder /etc/redhat-release, /etc/fedora-releaseetc.

TomH
la source
Aussi /etc/SuSE-release.
Escargot mécanique
1
Vérifiez /etc/*-release- mais il existe des systèmes sans ces fichiers.
Keith Thompson