// Datei: ./werkzeuge/paketquellen-und-werkzeuge/lokale-paketliste-reparieren.adoc

// Baustelle: Rohtext

[[lokale-paketliste-reparieren]]

=== Lokale Paketliste reparieren ===

// Stichworte für den Index
(((apt-get, update)))
(((Paketliste, reparieren)))
(((Paketliste, /var/lib/apt/lists)))

Es kann vorkommen, dass eine lokale Paketliste, die im Verzeichnis
`/var/lib/apt/lists` liegt, bei deren Aktualisierung (siehe
<<liste-der-verfuegbaren-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
<<geeigneten-paketmirror-auswaehlen>>). 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.

==== Aktualität des Mirrors überprüfen ====

// Stichworte für den Index
(((Paketmirror, auf Aktualität prü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 <<fig.debian-mirror-checker>>).

.Status der verschiedenen Debian-Paketmirror
image::werkzeuge/paketquellen-und-werkzeuge/debian-mirror-checker.png[id="fig.debian-mirror-checker", width="50%"]

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{empty}footnote:[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.]. 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.
// Datei (Ende): ./werkzeuge/paketquellen-und-werkzeuge/lokale-paketliste-reparieren.adoc
