Ich versuche, einen Weg zu finden, um den Namen und die Version der Linux-Distribution zu bestimmen, die für die meisten (oder idealerweise für alle) modernen Distributionen geeignet sind. Mir ist aufgefallen, dass es /etc/os-release
die Informationen enthält, die ich für die von mir getesteten Distributionen (CentOS, Debian) benötige. Aber wie sicher ist es, sich auf die Präsenz zu verlassen? Befehle wie uname -a
enthalten nicht wirklich die gleichen Informationen und lsb_release
sind anscheinend zB auf minimalem CentOS nicht vorhanden.
Gibt es eine schnelle Möglichkeit, genau herauszufinden, mit welchen Distributionen sie geliefert werden /etc/os-release
? Darüber hinaus wird /etc/os-release
garantiert enthalten NAME
, VERSION
und PRETTY_NAME
Felder?
quelle
Antworten:
Jedes System läuft systemd sollte
/etc/os-release
, was ist angegeben als Teil systemd. Einige Systeme ohne systemd haben es möglicherweise auch ( z. B. Debian 8, wo systemd optional ist, aber/etc/os-release
in allen Fällen installiert ist).Entsprechend der Spezifikation sind alle Felder optional und einige haben Standardeinstellungen ("Linux" für
NAME
undPRETTY_NAME
).Weitere Hintergrundinformationen finden Sie in der
/etc/os-release
Ankündigung .quelle