Kurz gesagt: Die Linux-Version zeigst du mit cat /etc/os-release an: Der Befehl nennt Distribution und Version auf Ubuntu, Debian, Rocky Linux, CentOS Stream, Alpine und praktisch jeder anderen aktuellen Distribution, damit ist auch die Frage nach der Ubuntu-Version beantwortet. uname -r zeigt die Kernel-Version. Diese zwei Befehle beantworten fast jede Frage der Art „Welches Linux habe ich hier eigentlich?“.
cat /etc/os-release # Distribution, Version, Codename
uname -r # laufender Kernel, z. B. 6.8.0-85-genericAuf einem Desktop öffnest du dafür einfach ein Terminal (unter Ubuntu mit Strg+Alt+T), auf einem Server reicht die SSH-Sitzung. Der Rest dieser Anleitung erklärt, was die einzelnen Felder bedeuten, welche Dateien je nach Distribution mehr verraten, wie du eine VM von einem Container unterscheidest und warum der Codename wichtig ist, sobald du ein Repository hinzufügst.
Was steht in /etc/os-release?
Auf Ubuntu 24.04 sieht die Datei so aus:
PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.3 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
...
UBUNTU_CODENAME=noble- PRETTY_NAME ist der lesbare Name, inklusive Point-Release (
24.04.3). - VERSION_ID ist die Versionsnummer, die Skripte für Vergleiche nutzen sollten (
24.04,12,9.4). - VERSION_CODENAME ist der Codename, den Paket-Repositories nutzen (
noble,bookworm). Die RHEL-Familie lässt ihn weg. - ID und ID_LIKE nennen die Distribution und ihre Familie. Rocky Linux etwa hat
ID="rocky"undID_LIKE="rhel centos fedora".
Die Datei ist so aufgebaut, dass die Shell sie lesen kann, Skripte können sie also einbinden. Mach das in einer Subshell, damit Variablen wie NAME und VERSION nicht in dein Skript durchsickern:
( . /etc/os-release && echo "$ID $VERSION_ID $VERSION_CODENAME" )
# ubuntu 24.04 noble
codename=$(. /etc/os-release && echo "$VERSION_CODENAME")Wie zeige ich die Ubuntu-Version an?
Neben /etc/os-release kennt Ubuntu zwei klassische Wege. lsb_release gehört zu einer normalen Ubuntu-Installation. Auf einem minimalen Debian fehlt es, dort fügt sudo apt install lsb-release es hinzu.
lsb_release -a
# No LSB modules are available.
# Distributor ID: Ubuntu
# Description: Ubuntu 24.04.3 LTS
# Release: 24.04
# Codename: noble
lsb_release -cs # nur der Codename: noble
cat /etc/lsb-release # dieselbe Information als DateiUbuntu hat auch eine Datei /etc/debian_version, aber auf Ubuntu nennt sie den Debian-Entwicklungszweig, auf dem das Release aufbaut, etwa trixie/sid auf 24.04, nicht die Ubuntu-Version. Dort kannst du sie ignorieren.
Wie finde ich das genaue Debian-Point-Release heraus?
/etc/os-release sagt auf Debian nur VERSION_ID="12". Das Point-Release, das sich alle paar Monate ändert, wenn Korrekturen gebündelt werden, steht in /etc/debian_version:
cat /etc/debian_version # z. B. 12.12 oder 13.1
cat /etc/os-release # PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"Codenamen, die dir heute auf Servern begegnen:
- Debian: 11
bullseye, 12bookworm, 13trixie - Ubuntu: 20.04
focal, 22.04jammy, 24.04noble
Wie prüfe ich Rocky Linux oder CentOS Stream?
cat /etc/redhat-release # Rocky Linux release 9.4 (Blue Onyx)
cat /etc/rocky-release # dasselbe auf Rocky
cat /etc/centos-release # CentOS Stream release 9
cat /etc/os-release # VERSION_ID="9.4"Auf Rocky Linux wandert das Point-Release mit den Updates: Ein Server, der als 9.4 installiert wurde, meldet nach sudo dnf upgrade das aktuelle 9.x-Release. CentOS Stream hat gar keine Point-Releases. Es ist ein laufend aktualisierter Stream, du siehst also immer nur 9 oder 8. lsb_release gehört nicht zu einer normalen Installation von Rocky 9, und du brauchst es auch nicht: /etc/os-release enthält dieselben Informationen.
Was zeigt hostnamectl?
hostnamectl fasst das System in einem Befehl zusammen: Betriebssystem, Kernel, Architektur und auf einer virtuellen Maschine den Hypervisor.
Static hostname: web-01
Chassis: vm
Virtualization: kvm
Operating System: Ubuntu 24.04.3 LTS
Kernel: Linux 6.8.0-85-generic
Architecture: x86-64
Hardware Vendor: QEMUsystemd-detect-virt gibt nur die Art der Virtualisierung aus: kvm auf einer virtuellen KVM-Maschine, lxc, openvz oder docker in einem Container und none auf Bare Metal. Der Unterschied ist wichtiger, als es scheint, denn in einem Container kannst du dir deinen Kernel nicht selbst aussuchen; warum, zeigt der Vergleich KVM vs OpenVZ (engl.).
Wie zeige ich die Kernel-Version an?
Die Version der Distribution (Ubuntu 24.04, Debian 12) beschreibt den gesamten Paketbestand. Der Kernel ist eines dieser Pakete, mit eigener Versionsnummer, und wird während der Laufzeit eines Releases separat aktualisiert:
uname -r # 6.8.0-85-generic Ubuntu 24.04
# 6.1.0-41-amd64 Debian 12
# 5.14.0-427.13.1.el9_4.x86_64 Rocky Linux 9.4
uname -a # Kernel, Hostname, Build-Datum und Architektur in einer ZeileZwei Dinge solltest du wissen:
uname -rzeigt den laufenden Kernel. Nach einem Kernel-Update ist der neue zwar installiert, läuft aber erst nach einem Neustart. Vergleiche ihn mit der Ausgabe vonls /boot/vmlinuz-*. Ubuntu legt außerdem/var/run/reboot-requiredan, wenn ein Neustart fällig ist, und auf Rocky sagt es dirdnf needs-restarting -r.- In einem Container ist der Kernel der des Hosts.
uname -rzeigt in einem LXC-, OpenVZ- oder Docker-Container den Kernel des Hosts, was neben der Distribution im Container seltsam aussehen kann. Auf einem KVM-VPS ist der Kernel dein eigener.
Ist mein System 32-Bit oder 64-Bit?
uname -m # x86_64 = 64-Bit Intel/AMD, aarch64 = 64-Bit ARM
dpkg --print-architecture # Paketarchitektur unter Debian/Ubuntu: amd64, arm64
getconf LONG_BIT # 64Auf einem aktuellen Server lautet die Antwort fast immer x86_64 oder aarch64. Die Paketarchitektur zählt, wenn du eine .deb-Datei oder ein Binary von Hand herunterlädst: amd64-Builds laufen nicht auf arm64.
Wird mein Release noch unterstützt?
Schau direkt auf den offiziellen Seiten nach, denn Termine verschieben sich und erweiterte Support-Angebote ändern das Bild: ubuntu.com/about/release-cycle für Ubuntu sowie debian.org/releases und wiki.debian.org/LTS für Debian. Ein paar Punkte, die du kennen solltest:
- Ubuntu 20.04 hat im Mai 2025 das Ende des Standard-Supports erreicht. Sicherheitsupdates gibt es nur noch über Ubuntu Pro (ESM).
- CentOS Stream 8 hat am 31. Mai 2024 sein Support-Ende (End of Life) erreicht und bekommt keine Updates mehr.
- Debian 11 sollte seine LTS-Phase Ende August 2026 verlassen. Prüf auf der LTS-Seite den aktuellen Stand und plane den Umstieg auf 12 oder 13. Wie das Upgrade direkt auf dem laufenden System geht, zeigt Debian 12 auf 13 upgraden (engl.).
Ein nicht mehr unterstütztes Release startet und läuft weiter. Es bekommt nur keine Sicherheitskorrekturen mehr, und irgendwann wandern seine Pakete von den Spiegelservern ins Archiv, dann schlägt apt update fehl.
Warum ist der Codename wichtig?
Paket-Repositories sind nach Codename organisiert, nicht nach Versionsnummer. Jede APT-Quelle nennt einen, und Repositories von Drittanbietern (Docker, PostgreSQL, Node.js und andere) wollen, dass du deinen einträgst:
deb http://deb.debian.org/debian bookworm main
# Drittanbieter-Repositories holen ihn meist aus os-release:
echo "deb https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable"Eine Repository-Zeile mit falschem Codenamen ist eine klassische Ursache für Unable to locate package (engl.) und Abhängigkeitsfehler. PPAs werden für jeden Ubuntu-Codenamen eigens gebaut, ein Grund, warum ein unter Debian hinzugefügtes PPA kaputtgeht; mehr dazu in add-apt-repository: command not found (engl.). Auf Rocky und CentOS Stream richten sich die Repositories stattdessen nach der Hauptversion (el9), und der Paketmanager ist dnf; mehr dazu in yum: command not found (engl.).
Wie zeige ich die Version unter Windows Server an?
winver # Dialog mit Version und Build
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" # Eingabeaufforderung
Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, BuildNumber # PowerShellBuild 20348 ist Windows Server 2022, Build 17763 ist Windows Server 2019. Auf einem deutschsprachigen System heißen die Zeilen von systeminfo „Betriebssystemname“ und „Betriebssystemversion“, dort filterst du also mit findstr /B /C:"Betriebssystemname" /C:"Betriebssystemversion". Endet der Name auf Evaluation, läuft der Server mit der zeitlich begrenzten Evaluierungslizenz; was das bedeutet, steht in der Anleitung zur Evaluierungslizenz (engl.).
Häufige Fragen
Wie zeige ich die Ubuntu-Version an?
Im Terminal mit cat /etc/os-release oder lsb_release -a. Beide nennen die Version mit Point-Release, etwa Ubuntu 24.04.3 LTS, und den Codenamen, etwa noble. lsb_release -cs gibt nur den Codenamen aus, den Repository-Zeilen brauchen. Die Datei /etc/debian_version nennt unter Ubuntu dagegen den Debian-Zweig, auf dem das Release aufbaut, nicht die Ubuntu-Version.
Wie zeige ich die Kernel-Version unter Linux an?
uname -r gibt nur den laufenden Kernel aus, zum Beispiel 6.8.0-85-generic auf Ubuntu 24.04 oder 6.1.0-41-amd64 auf Debian 12. Er ist unabhängig von der Version der Distribution: Der Kernel wird innerhalb eines Releases separat aktualisiert, und ein neuer Kernel läuft erst nach einem Neustart. Vergleiche im Zweifel mit ls /boot/vmlinuz-*.
Was bedeutet LTS bei Ubuntu?
Long Term Support. Ubuntu veröffentlicht alle zwei Jahre im April ein LTS-Release, etwa 20.04, 22.04 und 24.04, und versorgt es fünf Jahre lang mit regulären Sicherheitsupdates, länger über Ubuntu Pro. Die Zwischenreleases dazwischen bekommen nur neun Monate, auf einen Server gehört deshalb ein LTS-Release.