Einleitung
Wer unter Linux arbeitet, kommt früher oder später mit dem Befehl uname in Berührung. Obwohl das Programm äußerst klein und unscheinbar wirkt, gehört es zu den wichtigsten Werkzeugen für Administratoren, Entwickler und Support-Mitarbeiter.
Mit uname lassen sich innerhalb weniger Sekunden grundlegende Informationen über das laufende Betriebssystem und den Kernel abrufen. Besonders bei der Fehleranalyse, der Administration von Servern oder beim Erstellen von Shell-Skripten ist dieser Befehl nahezu unverzichtbar.
In diesem Beitrag lernst du den Linux-Befehl uname ausführlich kennen. Wir betrachten sämtliche Optionen, typische Einsatzgebiete, praktische Beispiele sowie Besonderheiten verschiedener Linux-Distributionen.
Was ist uname?
uname steht für:
Unix Name
Der Befehl gibt Informationen über das aktuell laufende Betriebssystem aus. Standardmäßig liefert er lediglich den Namen des Kernels, kann aber mit verschiedenen Optionen wesentlich umfangreichere Informationen anzeigen.
Typische Informationen sind:
- Kernelname
- Hostname
- Kernelversion
- Kernel-Release
- Hardwarearchitektur
- Prozessortyp
- Plattform
- Betriebssystem
Syntax
uname [OPTION]
Die meisten Optionen können einzeln oder kombiniert verwendet werden.
Der einfachste Aufruf
uname
Ausgabe:
Linux
Dies zeigt lediglich den Namen des Kernels.
Hilfe anzeigen
uname --help
Hier erhältst du eine Übersicht sämtlicher Optionen.
Version anzeigen
uname --version
Beispiel:
uname (GNU coreutils) 9.5
Dies zeigt die installierte Version des Programms.
Alle Informationen anzeigen
Die wohl bekannteste Option lautet:
uname -a
Beispiel:
Linux server01 6.12.8-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.8-1 x86_64 GNU/Linux
Diese Ausgabe enthält bereits nahezu alle verfügbaren Informationen.
Kernelname anzeigen
uname -s
oder
uname --kernel-name
Ausgabe:
Linux
Hostname anzeigen
uname -n
Beispiel:
webserver01
Der Hostname stammt aus der aktuellen Systemkonfiguration.
Kernel-Release anzeigen
uname -r
Beispiel:
6.12.8-amd64
Dies ist besonders hilfreich beim:
- Installieren von Kernelmodulen
- DKMS
- Treibern
- Virtualisierung
Kernel-Version anzeigen
uname -v
Beispiel:
#1 SMP PREEMPT_DYNAMIC Debian 6.12.8-1
Diese Information enthält zusätzliche Build-Informationen.
Hardwarearchitektur anzeigen
uname -m
Beispiel:
x86_64
Weitere mögliche Werte:
aarch64 armv7l i686 ppc64le riscv64
Diese Information ist häufig notwendig beim Download von Softwarepaketen.
Prozessortyp anzeigen
uname -p
Beispiel:
x86_64
Auf einigen Distributionen erscheint stattdessen:
unknown
Der Wert ist distributionsabhängig.
Hardwareplattform anzeigen
uname -i
Beispiel:
x86_64
Auch diese Option liefert nicht auf allen Distributionen sinnvolle Ergebnisse.
Betriebssystem anzeigen
uname -o
Beispiel:
GNU/Linux
Einzelne Optionen kombinieren
Mehrere Informationen lassen sich kombinieren:
uname -sr
Ausgabe:
Linux 6.12.8-amd64
Oder:
uname -snr
Beispiel:
Linux webserver01 6.12.8-amd64
Erklärung der Ausgabe von uname -a
Beispiel:
Linux server01 6.12.8-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.8-1 x86_64 GNU/Linux
Die einzelnen Bestandteile bedeuten:
- Linux – Name des laufenden Kernels (Kernelname).
- server01 – Hostname des Systems.
- 6.12.8-amd64 – Kernel-Release, also die installierte Kernelversion.
- #1 SMP PREEMPT_DYNAMIC Debian 6.12.8-1 – Detaillierte Kernel-Version mit Build- und Kompilierungsinformationen.
- x86_64 – Hardwarearchitektur des Systems (64-Bit-x86-Prozessor).
- GNU/Linux – Name des verwendeten Betriebssystems.
Praktische Anwendungsbeispiele
Kernel-Version prüfen
uname -r
Vor Kernel-Upgrades sollte immer die aktuelle Version geprüft werden.
Architektur vor Softwareinstallation prüfen
uname -m
Ergebnis:
x86_64
Damit weiß man, welches Installationspaket benötigt wird.
Hostname anzeigen
echo "Server: $(uname -n)"
Ausgabe:
Server: web01
Kernelinformationen in Skripten verwenden
KERNEL=$(uname -r) echo "Aktueller Kernel: $KERNEL"
Betriebssystem dokumentieren
echo "OS: $(uname -o)" echo "Kernel: $(uname -r)"
Systembericht erzeugen
echo "Hostname : $(uname -n)" echo "Kernel : $(uname -r)" echo "Version : $(uname -v)" echo "CPU : $(uname -m)" echo "OS : $(uname -o)"
uname in Shell-Skripten
Oft müssen Skripte unterschiedliche Plattformen erkennen.
Beispiel:
if [ "$(uname)" = "Linux" ]; then
echo "Linux erkannt."
fi
Oder:
case "$(uname -m)" in
x86_64)
echo "64-Bit-System"
;;
aarch64)
echo "ARM64-System"
;;
esac
Unterschied zwischen uname und hostname
Viele Anwender verwechseln beide Befehle.
hostname
hostname
liefert ausschließlich:
server01
uname
uname -n
liefert denselben Hostnamen, kann jedoch zusätzlich Kernelinformationen anzeigen.
Unterschied zwischen uname und lsb_release
uname beschreibt den Kernel.
lsb_release beschreibt die Linux-Distribution.
Beispiel:
lsb_release -a
Ausgabe:
Distributor ID: Debian Description: Debian GNU/Linux 13 Release: 13 Codename: trixie
Beide Programme ergänzen sich hervorragend.
Unterschied zwischen uname und /etc/os-release
Viele Distributionen stellen zusätzliche Informationen bereit:
cat /etc/os-release
Beispiel:
PRETTY_NAME="Debian GNU/Linux 13" VERSION="13 (Trixie)" ID=debian
Während uname den Kernel beschreibt, liefert /etc/os-release Informationen über die installierte Distribution.
Typische Einsatzgebiete
uname wird häufig verwendet für:
- Systeminventarisierung
- Supportanfragen
- Kernel-Diagnose
- Shell-Skripte
- Docker-Container
- Virtualisierung
- Softwareinstallation
- Architekturprüfung
- Fehleranalyse
- Dokumentation
Häufige Fehler
uname zeigt nicht die Distribution
Viele erwarten:
Ubuntu
oder
Debian
uname zeigt jedoch den Kernel, nicht die Distribution.
-p liefert "unknown"
Dies ist kein Fehler.
Viele Distributionen unterstützen diese Information schlicht nicht.
Architektur falsch interpretiert
x86_64
bedeutet:
- 64-Bit-CPU
- 64-Bit-Kernel
Nicht zwangsläufig handelt es sich um eine 64-Bit-Anwendung.
Tipps für Administratoren
uname -rvor Kernel-Upgrades dokumentieren.- In Supporttickets stets die Ausgabe von
uname -aangeben. - Vor der Installation von Kernelmodulen die Architektur mit
uname -mprüfen. - In Automatisierungsskripten auf
unamesetzen, da der Befehl auf nahezu allen Unix- und Linux-Systemen verfügbar ist. - Bei Docker-Containern liefert
unameInformationen über den Kernel des Hostsystems, da Container denselben Kernel verwenden.
Der Befehl uname gehört zu den grundlegenden Werkzeugen jedes Linux-Anwenders. Mit nur wenigen Optionen lassen sich wichtige Informationen über Kernel, Architektur, Hostname und Betriebssystem ermitteln. Ob bei der Administration von Servern, der Entwicklung von Shell-Skripten oder der Fehlerdiagnose – uname ist schnell, zuverlässig und auf praktisch jeder Unix- und Linux-Plattform verfügbar.
Gerade in Kombination mit Befehlen wie hostname, lsb_release, cat /etc/os-release oder hostnamectl liefert uname einen umfassenden Überblick über die Systemumgebung. Wer Linux professionell administriert, sollte die wichtigsten Optionen dieses kleinen, aber äußerst nützlichen Werkzeugs sicher beherrschen.