So beheben Sie 404 Not Found während apt-get Upgrade auf Debian
Der “404 Not Found”-Fehler während des Upgrades tritt auf, wenn Ihr System versucht, Pakete aus Repository-Quellen herunterzuladen, die nicht mehr existieren oder verschoben wurden, was typischerweise bei älteren Debian-Versionen passiert, die das Ende ihres Lebenszyklus erreicht haben und deren Pakete auf die Archiv-Server verschoben wurden.
Da Debian strikte Veröffentlichungszyklen einhält, werden ältere Versionen schließlich von den aktiven Spiegelservern in spezielle Archive verschoben. Wenn dies geschieht, wird Ihre bestehende Repository-Konfiguration veraltet, und Operationen des Paketmanagers schlagen fehl.
Verstehen von 404-Fehlern während des Upgrades
Wenn Sie apt-get update oder apt-get upgrade ausführen, liest das System Ihre Quellenliste aus /etc/apt/sources.list und versucht, Paketinformationen von den dort angegebenen URLs abzurufen. Wenn diese URLs auf Repositories verweisen, die verschoben oder entfernt wurden, erhalten Sie 404-Fehler.
Die Lösung besteht darin, Ihre Quellenliste zu aktualisieren, damit sie auf die richtigen Repository-Standorte zeigt. Da verschiedene Debian-Versionen unterschiedliche Repository-URLs benötigen, werden wir zunächst Ihre aktuelle Version ermitteln und dann die Konfiguration entsprechend anpassen.
Überprüfen Ihrer Debian-Version
Bevor Sie Änderungen vornehmen, müssen Sie feststellen, welche Debian-Version Sie ausführen.
lsb_release -a
Der oben stehende Befehl zeigt Ihre Distributionsinformationen an, einschließlich der Versionsnummer und des Codenamens.
- Bookworm → Debian 12
- Bullseye → Debian 11
- Buster → Debian 10
Notiere dir deinen Codenamen, da du ihn in den folgenden Schritten benötigen wirst.
Sicherungsdateikonfiguration der Quellen
Da Sie Systemdateien ändern werden, stellt das Erstellen einer Sicherung sicher, dass Sie Ihre ursprüngliche Konfiguration bei Bedarf wiederherstellen können.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
Dies erstellt eine Kopie Ihrer Quellliste im selben Verzeichnis. Falls etwas schiefgeht, können Sie sie wiederherstellen, indem Sie Quelle und Ziel im obigen Befehl vertauschen.
Repository-Quellen aktualisieren
Als Nächstes müssen Sie Ihre Quellenliste bearbeiten, um auf die richtigen Repositories zu verweisen. Für ältere Debian-Versionen, die das Ende ihres Lebenszyklus erreicht haben, müssen Sie zu den Archivservern wechseln.
Öffnen Sie die Datei mit einem Texteditor:
sudo nano /etc/apt/sources.list
Für End-of-Life-Debian-Versionen
Wenn Ihre Debian-Version nicht mehr unterstützt wird (z. B. Jessie, Stretch oder älter), ersetzen Sie den Dateiinhalt durch:
deb http://archive.debian.org/debian/ CODENAME main contrib non-free
deb http://archive.debian.org/debian-security/ CODENAME/updates main contrib non-free
Ersetzen Sie CODENAME durch Ihren Debian-Codename (zum Beispiel stretch für Debian 9).
Für derzeit unterstützte Versionen
Wenn Ihre Debian-Version noch unterstützt wird, Sie aber 404-Fehler (Mirror-Probleme) erhalten, verwenden Sie stattdessen die Haupt-Debian-Repositories:
deb http://deb.debian.org/debian/ CODENAME main contrib non-free
deb http://deb.debian.org/debian/ CODENAME-updates main contrib non-free
deb http://security.debian.org/debian-security CODENAME-security main contrib non-free
Ersetze CODENAME durch deine Version:
- Debian 12 → Bookworm
- Debian 11 → Bullseye
- Debian 10 → Buster
Nachdem Sie diese Änderungen vorgenommen haben, speichern Sie die Datei, indem Sie Ctrl+O drücken, dann Enter, und beenden Sie mit Ctrl+X.
Verarbeitung der Validierung des Archiv-Repository
Archiv-Repositorys für auslaufende Debian-Versionen erhalten keine Sicherheitsupdates, was bedeutet, dass ihre Release-Dateien nicht mehr mit gültigen Schlüsseln signiert werden. Um zu verhindern, dass der apt-Befehl aufgrund abgelaufener Signaturen fehlschlägt, müssen Sie die Validierungsprüfungen für diese Repositorys deaktivieren.
Öffnen oder erstellen Sie die folgende Konfigurationsdatei:
sudo nano /etc/apt/apt.conf.d/99allow-unauthenticated
Fügen Sie diese einzelne Zeile hinzu:
Acquire::Check-Valid-Until "false";
Diese Einstellung weist apt an, die Gültigkeitsdauer von Release-Dateien zu ignorieren, was für archivierte Repositories erforderlich ist, die keine Updates mehr erhalten.
Paketinformationen werden aktualisiert
Da Ihre Repository-Quellen nun korrekt konfiguriert sind, aktualisieren Sie Ihre Paketlisten, die die neuesten Paketinformationen von Ihren neu konfigurierten Repositories abrufen. Wenn alles richtig eingerichtet ist, sollte dies ohne 404-Fehler abgeschlossen werden.
sudo apt-get update
Sobald Ihre Paketlisten aktualisiert sind, können Sie Ihre installierten Pakete aktualisieren, was verfügbare Updates für Ihr aktuelles System herunterlädt und installiert. Für archivierte Versionen werden möglicherweise nur wenige oder keine Pakete aktualisiert, da sie keine Updates mehr erhalten.
sudo apt-get upgrade
Eine Distribution-Aktualisierung in Betracht ziehen
Während das Beheben der 404-Fehler es Ihrem aktuellen System ermöglicht zu funktionieren, bedeutet die Verwendung einer veralteten Debian-Version, dass Sie keine Sicherheitsupdates mehr erhalten, was in Produktions- oder internetbasierten Umgebungen erhebliche Risiken darstellt.
Sie sollten in Erwägung ziehen, auf eine aktuell unterstützte Debian-Version zu aktualisieren.
sudo apt-get dist-upgrade
Das Upgrade zwischen großen Debian-Versionen erfordert jedoch sorgfältige Planung und sollte nicht leichtfertig durchgeführt werden, da es bestehende Konfigurationen oder installierte Software beschädigen kann. Konsultieren Sie die offiziellen Debian-Release-Hinweise für Ihre Zielversion, bevor Sie ein größeres Upgrade versuchen.
Zusammenfassung
Die 404-Fehler während apt-get upgrade resultieren aus veralteten Repository-URLs in Ihrer Quellenkonfiguration. Durch die Identifizierung Ihrer Debian-Version, das Aktualisieren Ihrer Quellenliste, um auf die entsprechenden Repositories zu verweisen, und die Anpassung der Validierungseinstellungen kann die Funktionalität der Paketverwaltung wiederhergestellt werden.
Da das Ausführen nicht unterstützter Versionen Sicherheitsimplikationen hat, bleibt die Planung eines Upgrades auf eine aktuelle Debian-Version die empfohlene langfristige Lösung.