Fragen Sie ab, welche Linux / Unix-Distribution Sie verwenden (über die Befehlszeile) [Duplikat]

8

Wie können Sie bei Verwendung eines unbekannten Linux / BSD / Unix-Computers (z. B. über SSH) über die Befehlszeile feststellen, welche Distribution (und welche Version dieser Distribution) Sie verwenden?

Einige Optionen, die ich ausprobiert habe:

  • lsb_release --all: existiert nicht unter OpenSuSE 11.3; arbeitet mit Debian Squeeze und Ubuntu 10.10.
  • uname --all: gibt keine Distributionsinformationen zu SuSE und Debian; funktioniert in Ubuntu.
  • cat /etc/apt/sources.listIn können Sie sehen, mit welchen Servern der Distribution der Computer eine Verbindung für Updates herstellt. Funktioniert natürlich nur für Debian-basierte Distributionen. Funktioniert nicht, wenn der Computer für die Verwendung eines benutzerdefinierten Repository-Servers konfiguriert wurde.

Leider scheint keines davon über viele Distributionen hinweg zu funktionieren. Gibt es einen einfachen Befehl zum Überprüfen?

Mechanische Schnecke
quelle

Antworten:

11

Wenn Python 2.3 oder höher installiert ist, funktioniert dies mit vielen Distributionen :

python -c "import platform; print platform.dist()"
Patches
quelle
10

cat / proc / version

könnte den Trick machen.

Gesellenfreak
quelle
3
Es gibt viele Unixe, die das Pseudo-Dateisystem / proc nicht unterstützen.
dmckee --- Ex-Moderator Kätzchen
1

Es gibt keinen magischen Befehl, der über alle Distributionen hinweg funktioniert - Sie müssen eine Reihe von Dingen ausprobieren, um eine Antwort zu finden.

Zu den Dingen, die Sie ausprobieren sollten, gehören einige, die Sie getan haben lsb_release, und andere, die Sie nicht gerne angeschaut /etc/redhat-releasehaben /etc/fedora-release, usw.

TomH
quelle
Auch /etc/SuSE-release.
Mechanische Schnecke
1
Überprüfen Sie /etc/*-release- aber es gibt Systeme ohne solche Datei (en).
Keith Thompson