Anleitungen

Linux-Version anzeigen: Ubuntu, Debian, Rocky Linux und den Kernel prüfen

Linux-Version anzeigen mit cat /etc/os-release, den Kernel mit uname -r. Dazu lsb_release für die Ubuntu-Version, hostnamectl und die Codenamen für apt.

Veröffentlicht ~7 Min. Lesezeit
Auf dieser Seite

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?“.

jede aktuelle Distribution
cat /etc/os-release     # Distribution, Version, Codename
uname -r                # laufender Kernel, z. B. 6.8.0-85-generic

Auf 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:

cat /etc/os-release · Ubuntu 24.04
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" und ID_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:

in einem Skript
( . /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.

Ubuntu
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 Datei

Ubuntu 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:

Debian
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, 12 bookworm, 13 trixie
  • Ubuntu: 20.04 focal, 22.04 jammy, 24.04 noble

Wie prüfe ich Rocky Linux oder CentOS Stream?

Rocky Linux · 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.

hostnamectl · ein KVM-VPS (gekürzt)
 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: QEMU

systemd-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
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 Zeile

Zwei Dinge solltest du wissen:

  • uname -r zeigt den laufenden Kernel. Nach einem Kernel-Update ist der neue zwar installiert, läuft aber erst nach einem Neustart. Vergleiche ihn mit der Ausgabe von ls /boot/vmlinuz-*. Ubuntu legt außerdem /var/run/reboot-required an, wenn ein Neustart fällig ist, und auf Rocky sagt es dir dnf needs-restarting -r.
  • In einem Container ist der Kernel der des Hosts. uname -r zeigt 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?

Architektur
uname -m                    # x86_64 = 64-Bit Intel/AMD, aarch64 = 64-Bit ARM
dpkg --print-architecture   # Paketarchitektur unter Debian/Ubuntu: amd64, arm64
getconf LONG_BIT            # 64

Auf 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:

Codename in einer APT-Quelle
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?

Windows Server
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   # PowerShell

Build 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.

Debian vs. Ubuntu für einen Server: was wirklich unterschiedlich ist

Beide laufen mit APT und systemd. Was auf einem Server zählt: Release- und Support-Dauer, sudo bei der Neuinstallation, Snap und Paketaktualität.

Linux herunterfahren und neu starten: die Befehle shutdown, reboot und systemctl

Linux herunterfahren per Befehl: sudo shutdown -h now schaltet aus, sudo reboot startet neu. Außerdem: verzögern, Benutzer warnen, geplanten Shutdown abbrechen.

Ubuntu aktualisieren und upgraden: 22.04 auf 24.04 mit do-release-upgrade, plus Lösung für „Please install all available updates“

Ubuntu aktualisieren und Linux updaten mit apt full-upgrade, dann 22.04 auf 24.04 mit do-release-upgrade. Plus: „Please install all available updates“ beheben.

Linux-User anzeigen: alle Benutzer, Gruppen und wer gerade eingeloggt ist

Linux User anzeigen mit getent passwd, nur echte Benutzer filtern, Gruppen mit id prüfen und sehen, wer gerade eingeloggt ist oder sich zuletzt angemeldet hat.

Node.js installieren unter Ubuntu, Debian und Windows: so updatest du Node.js und npm

Node.js installieren mit NodeSource oder nvm unter Ubuntu und Debian, per MSI unter Windows, npm inklusive. Version prüfen, Node.js updaten, npm aktualisieren.

IP-Adresse unter Linux anzeigen: ip addr, hostname -I und die öffentliche IP

Linux IP-Adresse anzeigen mit ip -brief addr show oder hostname -I. Die öffentliche IP-Adresse hinter NAT zeigt curl ifconfig.me. So findest du die Server-IP.

Docker installieren auf Ubuntu 24.04 und Debian 12/13

Docker und Compose aus dem offiziellen Repository auf Ubuntu 24.04 oder Debian 12/13 installieren, ohne sudo nutzen und die Firewall nicht umgehen.

Upgrade Debian 12 (Bookworm) to Debian 13 (Trixie) on a server, step by step(engl.)

Back up, fully update Bookworm, switch the sources to trixie, run apt full-upgrade inside tmux and check what changed: the safe in-place upgrade on a VPS.

sudo: command not found? Install it the right way(engl.)

sudo is not installed. Become root with su -, run apt install sudo, then usermod -aG sudo USERNAME and log in again. Docker, Alpine, macOS and Windows too.

E: dpkg was interrupted? Repair a half-finished apt install(engl.)

Run dpkg --configure -a, and if that fails too, find the package whose script breaks, fix the cause and let apt finish, without touching dpkg's database.

Linux Mint vs Ubuntu: desktop, Snap, support and the server question(engl.)

Linux Mint vs Ubuntu: Mint is Ubuntu LTS with Cinnamon, no Snap and slower releases. Desktop, updates and support compared, and why a VPS runs Ubuntu.

How to check the Python version on Windows, Linux and macOS, and in code(engl.)

How to check Python version: python3 --version on Linux and macOS, py --version in cmd, sys.version_info in code, plus venvs, pip and several versions.

Unix vs Linux: what is actually different, and what is not(engl.)

Unix vs Linux: UNIX is a certified, trademarked OS family born at Bell Labs; Linux is a free Unix-like kernel. History, POSIX, licensing, comparison table.