25 Stimmen

Woher weiß ich, welche Linux-Distribution ich verwende?

Verlegt nach https://superuser.com/questions/80251/how-to-know-which-linux-distribution-im-using

Woher weiß ich, welche Linux-Distribution ich verwende?

uname -a ergibt Linux xxxxxx.net 2.6.9-42.0.3.EL.wh1smp #1 SMP Fri Aug 14 15:48:17 MDT 2009 i686 i686 i386 GNU/Linux Wie kann ich wissen, ob es sich um Ubuntu/Debian/Fedora oder Redhat handelt?

Ich verwende /etc/init.d/serviced restart für den Neustart von Servern, anscheinend ist es nicht die Redhat Familie

Aktualisierung:

[~]$ cat /etc/issue
cat: /etc/issue: No such file or directory
[~]$ cat /etc/issue.net
cat: /etc/issue.net: No such file or directory
[~]$ lsb_release -a
-sh: lsb_release: command not found
[~]$ cat /etc/*-release
cat: /etc/*-release: No such file or directory
[~]$ cat /etc/*-version
cat: /etc/*-version: No such file or directory
[~]$ cat /etc/*release
cat: /etc/*release: No such file or directory
[~]$ cat /etc/*_release
cat: /etc/*_release: No such file or directory
[~]$ cat /etc/*version
cat: /etc/*version: No such file or directory
[~]$

48voto

Dumb Guy Punkte 3216

Versuchen Sie dies:

cat /etc/*-release

Sie könnten auch /etc/*-version ausprobieren

21voto

Alok Singhal Punkte 87419

Wenn Sie eine lsb_release Befehl,

lsb_release -a

sagt Ihnen das (oder verwenden Sie einfach lsb_release -i ).

lsb_release ist in Linux Standard Base Core Spezifikation .

Editar : Sieht so aus, als ob Sie ein Red Hat-System verwenden. Eine Google-Suche nach Ihrem uname Ausgabe legt dies nahe . Dies ist natürlich nicht programmatisch!

11voto

Tim Post Punkte 32750

/etc/issue oder /etc/issue.net geben einen guten Anhaltspunkt. Neuere Distros stellen /etc/lsb-release zur Verfügung, die es einfacher machen, genaue Zeichenketten progmatisch zu bestimmen, d.h. Distro-Name / Major- und Minor-Release / Website, etc.

In Ermangelung von /etc/lsb-release ist das viel schwieriger, daher wurde lsb-release erstellt.

Wie Alok schon sagte, sieht es so aus, als ob Sie auf einem ziemlich alten (oder extrem spärlichen) System arbeiten. Ich glaube nicht, dass dies ein Fall ist, den Sie mit ein paar Zeilen Code (zuverlässig) progmatisch bestimmen können.

Wenn alles andere fehlschlägt, prüfen Sie, welche Art von Paketmanager verwendet wird (apt / rpm / andere), prüfen Sie, ob /etc/init.d ein Symlink (rpm / RH-Distributionen) oder ein Verzeichnis (Debian-basierte Distributionen) ist und Sie haben einen ziemlich guten Anhaltspunkt dafür, was Sie im Root-Dateisystem in Bezug auf die Struktur erwarten können.

Vous kann nicht bitte alle :)

7voto

stefanB Punkte 72857

Es scheint, als gäbe es hier einige Informationen:

> cat /etc/issue
Welcome to SUSE LINUX Enterprise Server 9 (i586) - Kernel \r (\l).

> uname -a
Linux boxname 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 i686 athlon i386 GNU/Linux

> cat /etc/*-release
SUSE LINUX Enterprise Server 9 (i586)
VERSION = 9
PATCHLEVEL = 3

2voto

pcp Punkte 1878

Eine Liste der Release-Dateinamen für die gängigsten Distros: Dateien freigeben

Und eine Funktion, die Ihnen helfen könnte: Shell-Skript

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X