Deutsch

Häufige APT-Fehler auf Ubuntu- und Debian-VPS beheben

2 min
VPS/VDS-Hosting

Irgendwann scheitert apt update auf Ihrem VPS Linux Infrawire mit einer Wand aus rotem Text: ein fehlender GPG-Schlüssel, ein nicht mehr existierendes Repository oder eine Sperre, die nicht verschwindet. Jeder Fehler hat eine klare Ursache und eine kurze Lösung.

Diese Anleitung geht die häufigsten Probleme unter Ubuntu 24.04 und Debian 12 durch, vom harmlosesten bis zum aufwendigsten Eingriff.

📋 Voraussetzungen

  • Ein VPS mit Ubuntu 24.04 oder Debian 12
  • Root-SSH-Zugang (IP und Root-Passwort finden Sie in Ihrem Kundenbereich)
  • Grundkenntnisse der Kommandozeile

1. Zuerst die Quellen finden

Wissen Sie vor jeder Korrektur, wo Ihre Repositories definiert sind:

Bash
cat /etc/os-release cat /etc/apt/sources.list ls -l /etc/apt/sources.list.d/ apt update 2>&1 | grep -E '^(Err|W:|E:)'

Unter Ubuntu 24.04 liegen die Haupt-Repositories in /etc/apt/sources.list.d/ubuntu.sources, im deb822-Format (.sources-Dateien). Debian 12 nutzt weiterhin das klassische einzeilige Format in /etc/apt/sources.list; beide Formate funktionieren nebeneinander.

Bash
# Beispiel für einen deb822-Eintrag (Ubuntu 24.04) Types: deb URIs: http://archive.ubuntu.com/ubuntu/ Suites: noble noble-updates noble-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

2. Sperrfehler und unterbrochenes dpkg

Die Meldung Could not get lock /var/lib/dpkg/lock-frontend bedeutet, dass ein anderer Prozess apt nutzt, sehr oft unattended-upgrades kurz nach dem Start. Prüfen Sie zuerst:

Bash
ps aux | grep -E 'apt|dpkg|unattended' | grep -v grep lsof /var/lib/dpkg/lock-frontend

Läuft ein Prozess, warten Sie einige Minuten. Löschen Sie eine Sperrdatei nur, wenn sie von nichts gehalten wird (riskant, falls Sie sich irren), und reparieren Sie dann den unterbrochenen Zustand:

Bash
rm -f /var/lib/dpkg/lock-frontend /var/lib/dpkg/lock /var/cache/apt/archives/lock dpkg --configure -a apt --fix-broken install

Die Meldung dpkg was interrupted, you must manually run 'dpkg --configure -a' löst genau der erste dieser Befehle.

3. NO_PUBKEY und fehlende GPG-Schlüssel

Der Fehler The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABCD1234 bedeutet, dass einem Drittanbieter-Repository ein vertrauenswürdiger Schlüssel fehlt. Verwenden Sie nicht das veraltete apt-key: Legen Sie den Schlüssel in /etc/apt/keyrings/ ab und verweisen Sie mit signed-by darauf.

Bash
install -d -m 0755 /etc/apt/keyrings curl -fsSL https://example.com/repo/key.gpg | gpg --dearmor -o /etc/apt/keyrings/example.gpg chmod 644 /etc/apt/keyrings/example.gpg echo 'deb [signed-by=/etc/apt/keyrings/example.gpg] https://example.com/repo stable main' > /etc/apt/sources.list.d/example.list apt update

Nutzen Sie die Schlüssel-URL aus der offiziellen Dokumentation der Software und installieren Sie bei Bedarf zuerst curl gnupg. Betrifft der Fehler das Ubuntu- oder Debian-Archiv selbst, installieren Sie das Schlüsselpaket neu: apt install --reinstall ubuntu-keyring bzw. debian-archive-keyring.

4. Defekte Drittanbieter-Repositories

Ein Fehler wie 404 Not Found oder does not have a Release file bei einem PPA oder Hersteller-Repository bedeutet meist, dass Ihre Version nicht mehr unterstützt wird. Deaktivieren Sie es, statt es zu löschen:

Bash
# Klassische .list-Datei: umbenennen mv /etc/apt/sources.list.d/broken.list /etc/apt/sources.list.d/broken.list.disabled # deb822-.sources-Datei: diese Zeile in den Block einfügen Enabled: no

Führen Sie danach apt update erneut aus. Der Fehler verschwindet, und bereits installierte Pakete funktionieren weiter.

5. Uhrzeitfehler: Release file not valid yet

Release file for ... is not valid yet (invalid for another 3h 12min) bedeutet, dass die Systemuhr dem Zeitstempel des Repositorys hinterherhinkt. Prüfen und neu synchronisieren:

Bash
timedatectl timedatectl set-ntp true systemctl restart systemd-timesyncd

Ist systemd-timesyncd nicht installiert (manche minimalen Debian-Images), nutzen Sie stattdessen apt install -y chrony.

6. Versionen am Lebensende (EOL)

Erreicht eine Version ihr Lebensende, werden ihre Pakete verschoben, und apt update liefert 404 oder no longer has a Release file. Bei einer Ubuntu-Version ohne LTS verweisen Sie die Quellen auf das Archiv alter Versionen:

Bash
sed -i 's|http://archive.ubuntu.com/ubuntu|http://old-releases.ubuntu.com/ubuntu|g; s|http://security.ubuntu.com/ubuntu|http://old-releases.ubuntu.com/ubuntu|g' /etc/apt/sources.list /etc/apt/sources.list.d/*.sources 2>/dev/null apt update

Für ein altes Debian nutzen Sie http://archive.debian.org/debian und entfernen die Security-Zeile. Betrachten Sie ein EOL-System nur als Übergangslösung: Es erhält keine Sicherheitskorrekturen mehr, planen Sie also ein Upgrade auf eine unterstützte Version.

7. Prüfen

Bash
apt update apt upgrade --dry-run apt-get check

apt update muss ohne Err- oder E:-Zeilen enden, und apt-get check darf nichts ausgeben.

🛠️ Fehlerbehebung

Die Sperre kehrt bei jedem Versuch zurück: Vermutlich läuft unattended-upgrades. Prüfen Sie systemctl status unattended-upgrades und warten Sie das Ende ab.

Conflicting values set for option Signed-By: Dasselbe Repository ist doppelt mit verschiedenen Schlüsseln deklariert. Suchen Sie mit grep -r example.com /etc/apt/ und behalten Sie nur einen Eintrag.

apt --fix-broken install scheitert an einem Paketskript: Lesen Sie die letzten Fehlerzeilen und versuchen Sie dann dpkg --remove --force-remove-reinstreq PACKAGE mit anschließender normaler Neuinstallation.


✅ Ihre Paketverwaltung ist wieder gesund: Updates und Installationen laufen ohne Fehler!

Bleiben Sie über die neuesten Angebote, Rabatte und Sonderaktionen informiert.

Aktionen ansehen

Wir verwenden Cookies

Wir verwenden Analyse-Cookies, um Ihre Erfahrung auf unserer Website zu verbessern. Es werden keine Daten an Dritte verkauft. Mehr erfahren Sie in unserer Datenschutzerklärung.