Frage 12.04 LTS kann nicht aktualisiert werden - "404 nicht gefunden" [duplizieren]


Diese Frage hat hier bereits eine Antwort:

Kannst du bitte helfen, das Problem zu lösen?

W: Не удалось получить http://archive.ubuntu.com/ubuntu/dists/precise/restricted/binary-i386/Packages  404  Not Found [IP: 91.189.91.13 80]

W: Не удалось получить http://archive.ubuntu.com/ubuntu/dists/precise/universe/binary-i386/Packages  404  Not Found [IP: 91.189.91.13 80]

W: Не удалось получить http://archive.ubuntu.com/ubuntu/dists/precise/multiverse/binary-i386/Packages  404  Not Found [IP: 91.189.91.13 80]

E: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.

Mit curl funktioniert diese URL gut:

curl -I http://archive.ubuntu.com/ubuntu/dists/precise/restricted/binary-i386/Packages.gz
HTTP/1.1 200 OK
Date: Tue, 07 Oct 2014 10:29:43 GMT
Server: Apache/2.2.22 (Ubuntu)
Last-Modified: Wed, 25 Apr 2012 22:42:47 GMT
ETag: "ae0aaa-2394-4be88971e07c0"
Accept-Ranges: bytes

0
2017-10-07 10:39


Ursprung


Upgrade auf 14.04 :) - Private
@VolkerSiegel Bietet das eine Lösung, die in einer Situation wie dieser funktioniert, in der die 404-Fehler offizielle Softwarequellen betreffen, die für die Nutzung der offiziellen primären Download-Site konfiguriert sind? - Eliah Kagan
@EliahKagan Sie haben Recht, ich hatte folgendes im Sinn: Wie installiere ich Software oder aktualisiere von alten nicht unterstützten Versionen?. Aber das gilt auch nicht: Es ist ein Fehler, auf eine interessante Art und Weise - siehe Antwort. - Volker Siegel
@EliahKagan Schreib immer noch ... - Volker Siegel


Antworten:


Der HTTP-Fehler 404 lässt es wie einige übliche Probleme aussehen.
Diese werden verursacht, wenn Repositories verschwinden oder entfernt werden.

Aber es ist nicht so, dass unser Repository nicht mehr vorhanden wäre:

wget -q http://archive.ubuntu.com//ubuntu/dists/precise/ -O - | html2text
****** Index of /ubuntu/dists/precise ******
[[ICO]] Name              Last_modified     Size
============================================================================
[[DIR]] Parent_Directory                                                  -
[[   ]] Contents-amd64.gz 26-Apr-2012 05:30                              21M
[[   ]] Contents-i386.gz  26-Apr-2012 06:11                              21M
[[   ]] Release           25-Apr-2012 22:49                              48K
[[   ]] Release.gpg       25-Apr-2012 22:49                              198
[[DIR]] main/             05-Dec-2011 18:03                                -
[[DIR]] multiverse/       14-Oct-2011 00:29                                -
[[DIR]] restricted/       14-Oct-2011 00:29                                -
[[DIR]] universe/         14-Oct-2011 00:29                                -
============================================================================
     Apache/2.2.22 (Ubuntu) Server at archive.ubuntu.com Port 80

Bei genauem Hinsehen versucht es zuzugreifen Packagesnicht Packages.gz wie gewöhnlich.

Das sieht nicht wirklich verdächtig aus; Es sind mehrere Formate verfügbar, wie .bz2 auch; unkomprimiert ist nur eine weitere Kodierung.

$ wget -q http://archive.ubuntu.com//ubuntu/dists/precise/restricted/binary-i386/ -O - | html2text
****** Index of /ubuntu/dists/precise/restricted/binary-i386 ******
[[ICO]] Name             Last_modified     Size
============================================================================
[[DIR]] Parent_Directory                                                  -
[[   ]] Packages.bz2     25-Apr-2012 22:42                              8.2K
[[   ]] Packages.gz      25-Apr-2012 22:42                              8.9K
[[   ]] Release          25-Apr-2012 22:49                               102
============================================================================
     Apache/2.2.22 (Ubuntu) Server at archive.ubuntu.com Port 80

Selbst nachdem ich das gefunden habe Packages tatsächlich fehlt, es ist nicht wirklich ein Grund zu vermuten, dass etwas nicht stimmt: Gewöhnliche Webserver haben die Option, Dateien nach Bedarf transparent zu entpacken - genau das scheint hier zu geschehen.


Eine Weile später fand ich einen Bugreport, nach dem der Dateiname ohne .gz ist wirklich falsch an diesem Ort;

Aber die Ursache ist wirklich unerwartet: Da die Verzeichnisse tiefer verschachtelt sind als gewöhnlich, stößt die Länge der URL an Grenzen. Es passt nicht in einen Puffer fester Länge. Es ist drei Bytes zu lang; Also werden drei Charaktere verworfen; Die URL hat keinen URL-Parameter usw. Der Pfad der URL wird also abgeschnitten;

Um drei Zeichen, entfernen Sie die .gz. Einen perfekt gültigen Dateinamen hinterlassen.

Packages.gz wurde nicht gefunden, da stattdessen nur nach Paketen gesucht wird


1
2017-10-09 20:33