---
id: 2024-10-10-ubuntu-upgrade-von-version-22-04-lts-auf-24-04-lts
title: "Ubuntu-Upgrade: Von Version 22.04 LTS auf 24.04 LTS"
slug: "ubuntu-upgrade-von-version-22-04-lts-auf-24-04-lts"
date: "2024-10-10 07:40:23"
updated: "2024-10-10 07:40:23"
author:
  name: "Sebastian Palencsár"
  handle: "spalencsar"
category: "serverumgebungen"
tags: ["ubuntu", "upgrade", "linux", "server", "lts", "noble-numbat"]
reading_time: 25
toc: true
excerpt: "Schritt-für-Schritt-Anleitung für das Upgrade von Ubuntu 22.04 LTS (Jammy Jellyfish) auf 24.04 LTS (Noble Numbat) – inklusive System-Backup, Release-Upgrade und Validierung."
---

Ein Distributions-Upgrade von **Ubuntu 22.04 LTS (Jammy Jellyfish)** auf **Ubuntu 24.04 LTS (Noble Numbat)** bringt moderne Kernel-Features, aktuellere Software-Stacks und fünf Jahre langfristige Unterstützung. Ein geordnetes In-Place-Upgrade erfordert sorgfältige Vorbereitung, saubere Paketquellen und ein erprobtes Backup.

Die hier vermittelten Upgrade- und Recovery-Techniken sind essenziell für den sicheren Betrieb professioneller Linux-Serverumgebungen und orientieren sich an Standards von Prüfungen wie der [LPIC-1](/de/category/lpic-1-serie){.badge-link-text} oder CompTIA Linux+.

<blockquote class="infobox infobox--info">
💡 **Hinweis:** Vorausgesetzt werden fundierte Kenntnisse der Linux-Kommandozeile sowie administrative Rechte (`sudo`) zur Verwaltung von Paketquellen und Systemdiensten (`systemctl`).
</blockquote>

<blockquote class="infobox infobox--warn">
⚠️ **Warnung:** Führe ein Major-Upgrade niemals direkt auf Produktivsystemen aus, ohne vorherige Tests durchgeführt zu haben. Nutze ein Testsystem oder eine [virtuelle Maschine](/de/linux-administration/linux-administration-virtualisierung-und-vm-management){.badge-link-text} zur Vorbereitung.
</blockquote>

## Grundlagen und Versionsanalyse

### LTS-Versionen verstehen

LTS steht für **Long Term Support** – Canonicals Zusage für fünf Jahre standardmäßige Sicherheitsupdates und Bugfixes. Für Server- und Produktionsumgebungen sollten ausschließlich LTS-Releases eingesetzt werden.

```markdown
┌──────────────────────────────────────────────────────────────┐
│                  Ubuntu LTS Release-Zyklus                   │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│   Ubuntu 22.04 LTS (Jammy)        Ubuntu 24.04 LTS (Noble)   │
│   ├── Release: April 2022         ├── Release: April 2024    │
│   └── Support: bis 2027           └── Support: bis 2029      │
│                                                              │
│   Upgrade-Pfad:                                              │
│   22.04 LTS ──────────────────────────────────▶ 24.04 LTS   │
│                      (Hop 1: In-Place)                       │
│                                                              │
└──────────────────────────────────────────────────────────────┘
```

**Die wichtigsten Neuerungen zwischen 22.04 und 24.04:**

| Komponente | Ubuntu 22.04 LTS (Jammy) | Ubuntu 24.04 LTS (Noble) | Bedeutung für den Serverbetrieb |
| --- | --- | --- | --- |
| **Linux Kernel** | 5.15 | 6.8 | Bessere Hardware-Unterstützung, modernes cgroup-Handling |
| **Python** | 3.10 | 3.12 | PEP 668 (`externally-managed-environment` für pip) |
| **systemd** | 249 | 255 | TPM2-Integration, moderne Service-Watchdogs |
| **OpenSSH** | 8.9p1 | 9.6p1 | Modernisierte Kex-Algorithmen, verbesserte Sicherheit |
| **AppArmor** | 3.0 | 4.0 | Verbesserte Unprivileged User Namespace Policies |
| **Netplan** | 0.104 | 1.0 | Status-Befehle (`netplan status`), stabilisierte API |

<blockquote class="infobox infobox--info">
💡 **Upgrade-Regel von Ubuntu:** Ubuntu erlaubt direkte Release-Upgrades immer nur zwischen aufeinanderfolgenden LTS-Versionen. Ein direkter Sprung von 20.04 auf 24.04 ist nicht möglich (der Pfad lautet: 20.04 → 22.04 → 24.04).
</blockquote>

### System-Analyse vor dem Upgrade

Vor jedem Eingriff in die Paketverwaltung musst du den genauen Ausgangszustand deines Systems erfassen:

**1. Aktuelle Version bestätigen:**

```bash
lsb_release -a
```

Die Ausgabe sollte `Release: 22.04` und `Codename: jammy` bestätigen.

**2. Hardware-Ressourcen und Speicherplatz prüfen:**

```bash
# CPU-Architektur und Kerne
lscpu | head -20

# RAM-Verfügbarkeit (mindestens 2 GB, empfohlen: 4 GB+)
free -h

# Festplattenplatz auf Root / (mindestens 20-25 GB frei empfohlen)
df -h /
```

<blockquote class="infobox infobox--warn">
⚠️ **Warnung:** Stelle sicher, dass auf der Root-Partition (`/`) und in `/boot` ausreichend freier Speicherplatz vorhanden ist. Ein volllaufendes Dateisystem während des Paket-Downloads oder Kernel-Entpackens führt zu schwerwiegenden Paketinkonsistenzen.
</blockquote>

### Vollständige Datensicherung

Vor dem Upgrade ist ein verifiziertes Backup aller Konfigurationen und Benutzerdaten Pflicht.

```bash
# Prüfe wichtige Dienste und Datenpfade
sudo mysql --version 2>/dev/null && echo "MySQL/MariaDB gefunden"
sudo apache2 -v 2>/dev/null && echo "Apache gefunden"
sudo nginx -v 2>/dev/null && echo "Nginx gefunden"
```

**Praxis-Backup-Script:**

Das Sicherungsverzeichnis sollte idealerweise auf einem separaten Speichermedium (z. B. NFS-Share, dedizierter Backup-Storage oder USB-Laufwerk) liegen, um den für das Upgrade benötigten Speicherplatz auf der Root-Partition (`/`) nicht zu belasten.

```bash
#!/bin/bash
# backup_vor_upgrade.sh
set -euo pipefail

BACKUP_DIR="/backup/ubuntu22_upgrade_$(date +%Y%m%d_%H%M%S)"
echo "=== Erstelle Backup in: $BACKUP_DIR ==="

sudo mkdir -p "$BACKUP_DIR"

# Wichtige Systemdateien sichern
sudo cp -a /etc "$BACKUP_DIR/etc"
sudo cp -a /home "$BACKUP_DIR/home"
sudo cp -a /var/log/dpkg.log "$BACKUP_DIR/" 2>/dev/null || true

# Installierte Paketliste sichern
dpkg --get-selections > "$BACKUP_DIR/installed_packages.txt"

# Paketquellen-Status sichern
sudo cp -a /etc/apt/sources.list* "$BACKUP_DIR/"

echo "Backup erfolgreich abgeschlossen. Größe:"
sudo du -sh "$BACKUP_DIR"
```

**Script ausführbar machen und ausführen:**

```bash
chmod +x backup_vor_upgrade.sh
./backup_vor_upgrade.sh
```

## Paket- und Systemvorbereitung

### 1. Bestehende Pakete vollständig aktualisieren

Bevor der Sprung auf die neue Version vollzogen werden kann, muss das bestehende 22.04-System auf dem absolut neuesten Stand sein.

```bash
# Paketlisten aktualisieren
sudo apt update

# Alle Updates inklusive Abhängigkeitsanpassungen installieren
sudo apt full-upgrade -y

# Nicht mehr benötigte alte Bibliotheken entfernen
sudo apt autoremove --purge -y

# Paket-Cache bereinigen
sudo apt autoclean
```

**Was tun bei zurückgehaltenen Paketen (*packages kept back*)?**

```bash
# Falls Pakete zurückgehalten werden, diese explizit installieren:
sudo apt install --only-upgrade linux-generic linux-headers-generic
```

### 2. Fremdquellen und PPAs prüfen

Drittanbieter-Paketquellen (PPAs) können während des Upgrades zu Abhängigkeitskonflikten führen. Der Upgrade-Manager deaktiviert Fremdquellen in der Regel automatisch, es ist jedoch sauberer, problematische Quellen vorab zu prüfen:

```bash
# Drittanbieter-PPAs auflisten
grep -r "ppa" /etc/apt/sources.list.d/ || true

# Snap-Pakete aktualisieren
snap list
sudo snap refresh
```

### 3. Upgrade-Manager konfigurieren

Das offizielle Tool `do-release-upgrade` steuert den Upgrade-Prozess.

```bash
# Update-Manager installieren
sudo apt install update-manager-core -y

# Release-Upgrade-Konfiguration prüfen
sudo nano /etc/update-manager/release-upgrades
```

Stelle sicher, dass die Zeile für den Prompt auf `lts` steht:

```ini
[DEFAULT]
Prompt=lts
```

## Der Upgrade-Prozess (22.04 → 24.04)

### Upgrade in einer Terminal-Session starten

Wenn du das Upgrade über eine SSH-Verbindung ausführst, solltest du unbedingt `screen` oder `tmux` verwenden. Bricht die Netzwerkverbindung ab, läuft das Upgrade im Hintergrund ungestört weiter.

```bash
# Screen-Sitzung starten
screen -S noble-upgrade

# Release-Upgrade einleiten
sudo do-release-upgrade
```

<blockquote class="infobox infobox--info">
💡 **SSH-Notfallzugang:** Bei Ausführung über SSH startet `do-release-upgrade` automatisch einen zusätzlichen SSH-Daemon auf Port `1022`. Falls Port 1022 in deiner Firewall geblockt ist, halte die Ports offen oder arbeite direkt an der Konsole.
</blockquote>

```markdown
┌─────────────────────────────────────────────────────────────┐
│                 Ablauf des Release-Upgrades                 │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  1. Prüfung & Vorbereitung      [████░░░░░░] 10%            │
│     ├── System-Abhängigkeiten prüfen                        │
│     └── Temporäre Paketquellen für 24.04 (noble) setzen     │
│                                                             │
│  2. Download der Pakete         [██████░░░░] 50%            │
│     └── Herunterladen aller Archive nach /var/cache/apt     │
│                                                             │
│  3. Installation & Entpacken    [████████░░] 80%            │
│     ├── Entfernen obsoleter Pakete                          │
│     └── Entpacken & Konfigurieren des neuen Stacks          │
│                                                             │
│  4. Systemd-Neustart            [██████████] 100%           │
│     └── Reboot in Kernel 6.8 & Ubuntu 24.04 LTS             │
│                                                             │
└─────────────────────────────────────────────────────────────┘
```

### Typische Dialoge während des Upgrades

1. **Abfrage zu geänderten Konfigurationsdateien:**
   * Wenn eine Konfigurationsdatei (z. B. `/etc/ssh/sshd_config` oder `/etc/issue`) lokal modifiziert wurde, fragt der Installer, ob die Paketbetreuer-Version übernommen oder die lokale Datei behalten werden soll.
   * **Empfehlung:** Mit `D` die Diffs prüfen. Eigene Anpassungen in Serverdiensten behältst du in der Regel mit `N` (Keep existing version).
2. **Obsolete Pakete entfernen:**
   * Am Ende des Installationsprozesses fragt der Wizard: `Remove obsolete packages?`.
   * **Empfehlung:** Bestätige mit `y`, um Altlasten sauber zu bereinigen.

### Upgrade abschließen und System neu starten

Sobald die Meldung `System upgrade is complete. Restart required` erscheint, starte das System neu:

```bash
# Neustart durchführen
sudo reboot
```

## Validierung nach dem Upgrade

Nach dem Neustart loggst du dich wieder ein und überprüfst die Systemgesundheit:

### 1. Versions- und Kernel-Check

```bash
# OS-Release prüfen
lsb_release -a

# Erwartete Ausgabe:
# Description: Ubuntu 24.04 LTS (Noble Numbat)
# Release:     24.04

# Kernel-Version prüfen (sollte 6.8.x sein)
uname -r
```

### 2. Service-Status und Logfiles kontrollieren

```bash
# Fehlgeschlagene Systemd-Units finden
systemctl --failed

# Kritische Kernel-Meldungen prüfen
sudo dmesg -l err,crit

# Netplan und Netzwerkverbindungen prüfen
sudo netplan status
ip addr show
```

### 3. Paketverwaltung bereinigen

```bash
# Letzten Stand der Paketdatenbank sicherstellen
sudo apt update
sudo apt autoremove --purge -y
sudo apt autoclean
```

## Problembehandlung & Notfall-Strategien

### Szenario 1: Abgebrochenes Upgrade / Halb-konfigurierte Pakete

Falls das Upgrade durch einen Verbindungsabbruch oder Stromausfall unterbrochen wurde:

```bash
# Paketverwaltung entsperren und konfigurieren
sudo dpkg --configure -a

# Defekte Abhängigkeiten auflösen
sudo apt install -f -y

# Paketstatus prüfen
sudo dpkg --audit
```

### Szenario 2: SSH- oder Netzwerkprobleme nach dem Reboot

Wenn das Netzwerk nach dem Upgrade nicht automatisch startet:

```bash
# Netplan-Konfigurationsdateien prüfen
cat /etc/netplan/*.yaml

# Konfiguration neu kompilieren und anwenden
sudo netplan generate
sudo netplan apply
```

## Befehlsreferenz (Cheatsheet)

Die wichtigsten operativen Befehle für die Vorbereitung, Durchführung und Verifikation des Upgrades auf einen Blick:

| Phase / Befehl | Funktion / Erläuterung |
| --- | --- |
| `lsb_release -a && uname -r` | Prüft die aktive Ubuntu- und Kernel-Version vor oder nach dem Upgrade |
| `df -h / && free -h` | Überprüft freien Festplattenspeicher und verfügbaren Arbeitsspeicher |
| `sudo apt update && sudo apt full-upgrade -y` | Aktualisiert bestehende Pakete und löst Abhängigkeiten vorab vollständig auf |
| `sudo apt autoremove --purge -y && sudo apt autoclean` | Bereinigt verwaiste Altpakete und leert den lokalen Paketcache |
| `screen -S noble-upgrade` | Startet eine getrennte Terminalsitzung zum Schutz vor SSH-Verbindungsabbrüchen |
| `sudo do-release-upgrade` | Startet den offiziellen, interaktiven Release-Upgrade-Prozess |
| `systemctl --failed` | Listet Dienste auf, die nach dem Systemstart fehlgeschlagen sind |
| `sudo netplan status` | Zeigt Schnittstellen, Adressen und Routing-Status des modernisierten Netplan 1.0 |
| `sudo dpkg --configure -a` | Konfiguriert unvollständig installierte Pakete nach einem unterbrochenen Upgrade |
| `sudo apt install -f -y` | Repariert beschädigte Paketabhängigkeiten im Notfall |

## Weiterführende Ressourcen

Die folgenden internen Dokumentationen und Referenzen vertiefen den sicheren Betrieb und weiterführende Upgrades:

| Ressource / Dokumentation | Beschreibung |
| --- | --- |
| [Ubuntu-Upgrade: 24.04 auf 26.04 LTS](/de/serverumgebungen/ubuntu-upgrade-von-version-24-04-lts-auf-26-04-lts){.badge-link-text} | Der nächste logische Schritt: Migration auf Kernel 7.0, `sudo-rs` und APT 3.2 Rollback |
| [LPIC-1 Serie: Linux-Grundlagen](/de/category/lpic-1-serie){.badge-link-text} | Fundiertes Wissen zu Paketmanagement, Shell-Workflows und Linux-Systemarchitektur |
| [Virtuelle Maschinen für Tests](/de/linux-administration/linux-administration-virtualisierung-und-vm-management){.badge-link-text} | Testumgebungen für risikofreie Probe-Upgrades unter Proxmox VE und KVM einrichten |
| [Boot-Management und Systemstart](/de/linux-administration/linux-administration-boot-management-systemstart){.badge-link-text} | GRUB-Konfiguration, Initramfs und Systemstart-Diagnose bei Kernel-Problemen |
| [Ubuntu Serverumgebungen](/de/category/serverumgebungen){.badge-link-text} | Übersicht aller Leitfäden für Administration, Härtung und Betrieb von Linux-Servern |

## Fazit

Ein geordnetes Release-Upgrade von Ubuntu 22.04 LTS auf 24.04 LTS sichert die offizielle Wartung und Sicherheitsunterstützung der Plattform bis 2029. Durch den Wechsel auf Linux-Kernel 6.8, Netplan 1.0 und systemd 255 profitiert das System von breiterer Hardware-Unterstützung, modernem cgroup-Handling und verbesserter Sicherheitsarchitektur. Der Erfolg eines solchen Upgrades basiert auf disziplinierter Vorbereitung: Ein verifiziertes Backup außerhalb der Root-Partition, ausreichende Speicherplatzreserven und die Absicherung der Terminalsitzung über `screen` minimieren das Betriebsrisiko während des In-Place-Upgrades auf ein Minimum.

<blockquote class="infobox infobox--info">
💡 **Praxistipp für den laufenden Betrieb:** Richte nach erfolgreichem Upgrade zwingend das Paket `unattended-upgrades` ein, um sicherheitsrelevante Bugfixes und Patches automatisch im Hintergrund einzuspielen. Beachte zudem, dass Python 3.12 unter 24.04 LTS die Richtlinie PEP 668 strikt erzwingt: Globale `pip`-Installationen sind gesperrt, weshalb systemnahe Automatisierungsskripte in separaten Virtual Environments (`python3 -m venv`) oder über `pipx` gepflegt werden müssen.
</blockquote>

Für Systeme, die stets auf der neuesten LTS-Linie betrieben werden sollen, schließt sich an diesen Meilenstein die nächste Upgrade-Stufe an: Im Folgeartikel **[Ubuntu-Upgrade: Von Version 24.04 LTS auf 26.04 LTS](/de/serverumgebungen/ubuntu-upgrade-von-version-24-04-lts-auf-26-04-lts){.badge-link-text}** führen wir den nächsten Distributionssprung durch – inklusive `cgroup` v2-only Migration, Rust-basiertem `sudo-rs` und APT 3.2 Rollback-Mechanismen.
