你能幫忙解決這個問題嗎?
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
確實丟失之後,也不能真正成為懷疑出現問題的理由:常見的 Web 伺服器可以選擇根據需要透明地解壓縮檔案 - 正是這裡發生的情況。
過了一會兒,我發現了一個錯誤報告,根據該報告,.gz
這個地方沒有的文件名確實是錯誤的;
但原因確實出乎意料:由於目錄比平常嵌套得更深,因此 URL 的長度達到了一定的限制。它不適合某些固定長度的緩衝區。三個位元組太長;因此三個字符被丟棄; URL 沒有任何 URL 參數等。
透過三個字符,刪除.gz
.留下一個完全有效的檔案名稱。