Daten sind unsere Leidenschaft!

Wo bin ich? Identitätsrecherche unter Linux

Bei der Arbeit in Linux-Shellfenstern kommt es gelegentlich dazu, dass man eine bestimmte Datei nicht dort findet, wo man sie erwartet. Bei der Vielfalt von Linux-Distributionen gibt es verschiedene Varianten, nach denen die Dateien des Grundsystems organisiert sind. So finden sich beispielsweise bestimmte Logdateien, Konfigurationsdateien oder Systemutilities in distributionsabhängigen Verzeichnissen.

In großen Systemumgebungen, in denen viele Rechner mit unterschiedlichen Betriebssystemen existieren, stellt sich dann schnell die Frage: auf welcher Distribution arbeite ich hier eigentlich gerade?


Erste Hinweise erhält man mit dem uname-Kommando:

parallels@aubuntu:/usr/bin$ uname
Linux

parallels@aubuntu:/usr/bin$ uname -a Linux aubuntu 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

parallels@aubuntu:/usr/bin$

Manchmal erhält man so aber keine aussagekräftige Information. Leider ist die Ablagestelle der gesuchten Informationen selbst distributionsabhängig. Also bleibt einem nichts anderes übrig, als verschiedene Möglichkeiten zu testen.

In /proc/version steht mitunter die gesuchte Information:

parallels@aubuntu:/usr/bin$ cat /proc/version
Linux version 3.2.0-29-generic (buildd@allspice) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012

parallels@aubuntu:/usr/bin$

Eine weitere Möglichkeit ist /etc/os-release:

parallels@aubuntu:/usr/bin$ cat /etc/os-release

cat: /etc/os-release: No such file or directory

parallels@aubuntu:/usr/bin$

Das wäre eine schöne distributionsunabhängige Datei, um Distributions- und Versionsinformationen abzulegen. Wie man am obigen Beispiel sieht, legt dort aber nicht jede Distribution ihre Identität ab.

Immerhin geben sich Distributionen, die in ihrem Aufbau LSB-konform (Linux Standard Base) sind, in /etc/lsb-release zu erkennen:

parallels@aubuntu:/usr/bin$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION=Ubuntu 12.04.1 LTS
parallels@aubuntu:/usr/bin$

Alternativ gibt es dann das Kommando lsb_release, das ähnliche Daten ausgibt:

parallels@aubuntu:/usr/bin$ lsb_release -a

No LSB modules are available. Distributor ID:Ubuntu Description:Ubuntu 12.04.1 LTS Release:12.04 Codename:precise

parallels@aubuntu:/usr/bin$

Führt all dies nicht zum Erfolg, bleibt noch die Suche nach distributionsspezifischen Dateien. Typische Vertreter sind:

  • /etc/SuSE-release
  • /etc/redhat-release
  • /etc/debian-release

Am wahrscheinlichsten findet man diese Dateien also mit dem Kommando

ls -l /etc/*release

Wer jetzt immer noch im Dunklen tappt, dem bleiben noch zwei Dateien:

parallels@aubuntu:/usr/bin$ cat /etc/issue
Ubuntu 12.04.1 LTS

parallels@aubuntu:/usr/bin$ cat /etc/issue.net Ubuntu 12.04.1 LTS

parallels@aubuntu:/usr/bin$

Spätestens jetzt sollte man wissen, in welchem Umfeld man sich bewegt.

Das könnte Sie auch interessieren

Bleiben Sie informiert:

its-people hilft Ihnen...

Weitere Blogthemen: