無法更新 12.04 LTS - “404 未找到”

無法更新 12.04 LTS - “404 未找到”

你能幫忙解決這個問題嗎?

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.留下一個完全有效的檔案名稱。

未找到 Packages.gz,因為僅搜尋 Packages

相關內容