3.16. Lokale Paketliste reparieren

Es kann vorkommen, dass eine lokale Paketliste, die im Verzeichnis /var/lib/apt/lists liegt, bei deren Aktualisierung (siehe Abschnitt 3.14, „Liste der verfügbaren Pakete aktualisieren“) kaputtgeht. Das kommt sehr selten vor, aber bspw. dann, wenn nicht mehr genügend freier Speicherplatz für die neue Paketliste zur Verfügung steht oder das Entpacken der komprimierten Liste aus einem anderen Grund fehlschlägt. Sie bekommen das mit, wenn APT jammert und in Folge seine Arbeit verweigert.

APT versucht von sich aus, eine defekte oder nicht mehr vorhandene Liste wieder zu reparieren. Dazu beauftragen Sie APT mit dem Kommando apt-get update. Damit bezieht es die aktuellen Paketlisten von den in /etc/apt/sources.list angebenen Paketquellen und ersetzt die bereits bestehenden lokalen Paketlisten. Falls diese nicht mehr vorhanden sein sollten, legt APT diese Listen neu an.:

Ist das erfolglos, räumen Sie als nächsten Schritt das Verzeichnis /var/lib/apt/lists/partial auf. Darin hinterlegt APT alle Zwischenstände und Teillisten. Löschen Sie dazu in besagtem Verzeichnis sämtliche Dateien und wiederholen danach das Kommando apt-get update.

Wenn das noch nicht geholfen hat, bereinigen Sie auch das Verzeichnis /var/lib/apt/lists. Danach wiederholen Sie das Kommando apt-get update.

Sollte das Vorgehen immer noch nicht von Erfolg gekrönt sein, warten Sie bitte sieben Stunden und wiederholen danach das Kommando apt-get update erneut. Hintergrund für die Bitte um Geduld ist die Erneuerung der Debian-Paketquellen auf den Paketmirrors (siehe Abschnitt 3.5, „Geeigneten Paketmirror auswählen“). Diese Erneuerung erfolgt automatisiert alle sechs Stunden und bereinigt auch eventuelle Inkonsistenzen der Paketlisten auf dem Paketmirror. Um auch sicherzugehen, dass die Liste der Paketquellen auf dem neuesten Stand ist, warten Sie lieber einen kleinen Moment länger.

3.16.1. Aktualität des Mirrors überprüfen

Sollten die Fehler trotz Ihrer intensiven Bemühungen bestehen bleiben, bleibt noch eine Überprüfung, ob der angefragte Spiegelserver auch aktuell ist. Eine Zustandsübersicht über alle offiziellen Spiegelserver, die bei Debian registriert sind, finden Sie auf der Debian Mirror Status-Seite [Debian-Mirror-Status] (siehe Abbildung 3.15, „Status der verschiedenen Debian-Paketmirror“).

Abbildung 3.15. Status der verschiedenen Debian-Paketmirror

werkzeuge/paketquellen-und-werkzeuge/debian-mirror-checker.png

Wann die letzte Aktualisierung des von Ihnen gewählten Debian-Mirrors passiert ist, sehen Sie im Unterverzeichnis project/trace/, z.B. unter http://debian.ethz.ch/debian/project/trace/ für den Paketmirror der ETH Zürich. In dieser Liste suchen Sie nach dem Datumsstempel der Datei, die dem Hostnamen Ihres Spiegelservers entspricht. Wenn der Spiegelserver unter mehreren Namen erreichbar ist, finden Sie dort trotzdem nur einen davon. Es sollte immer die neuste Datei sein.

Wenn die gefundene Datei deutlich älter als sechs Stunden ist, prüfen Sie bitte zuerst, wann die letzte Aktualisierung des Mirror-Netzwerkes stattgefunden hat[11]. Unter [dinstall-status] finden Sie eine Datei, in der festgehalten wird, in welchem Schritt der Aktualisierung und Zustand sich der Master-Mirror gerade befindet. Ein Eintrag „all done“ bedeutet, dass zur Zeit keine Aktualisierung läuft. Das Endedatum zeigt den Zeitpunkt an, an dem die erste Stufe des Mirror-Netzwerkes mit den neuen Paketlisten und Paketen versorgt wurde.

Ob zur Zeit eine Aktualisierung Ihres gewählten Mirrors läuft, sehen sie an der Existenz einer Datei Archive-Update-in-Progress (ggf. erweitert um den bzw. einen Hostnamen des Spiegelservers) im Wurzelverzeichnis des APT-Repositorys, z.B. http://debian.ethz.ch/debian/Archive-Update-in-Progress-debian.ethz.ch.



[11] Bei Ausfällen oder Umbauten in der Infrastruktur wie auch kurz vor neuen Veröffentlichungen kann es durchaus vorkommen, dass der Abstand zwischen zwei Aktualisierungen des Mirrors deutlich mehr als sechs Stunden dauert, teilweise auch einen oder wenige Tage.