можете ли вы помочь решить эту проблему?
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: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
С curl этот URL работает хорошо:
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
решение1
Ошибка HTTP 404 выглядит как некоторые распространенные проблемы.
Они вызваны исчезновением или перемещением репозиториев.
Но дело не в том, что нашего хранилища больше нет:
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
Присмотревшись, можно заметить, что он пытается получить доступ Packages
не так, Packages.gz
как обычно.
Это не выглядит подозрительно; доступно множество форматов .bz2
; несжатый — это просто еще одна кодировка.
$ 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
Даже если выяснится, что чего-то Packages
действительно не хватает, это не повод подозревать, что что-то не так: обычные веб-серверы имеют возможность прозрачно распаковывать файлы по мере необходимости — именно это, по-видимому, и происходит в данном случае.
Некоторое время спустя я нашел сообщение об ошибке, согласно которому имя файла без , .gz
действительно, в этом месте неверно;
Но причина действительно неожиданная: поскольку каталоги вложены глубже, чем обычно, длина URL достигла некоторого предела. Он не помещается в какой-то фиксированный буфер длины. Он на три байта длиннее; Поэтому три символа отбрасываются; URL не имеет никаких параметров URL и т. д. Поэтому путь URL обрезается;
На три символа, удалив .gz
. Оставив совершенно допустимое имя файла.
Packages.gz не найден, так как вместо этого выполняется поиск только Packages