[轉]在舊版本Ubuntu系統中使用“apt-get update”出現“404 Not Found”錯誤的解決辦法

列印

問題:我的電腦上安裝的是舊版本的Ubuntu 13.04(Raring Ringtail)。當我運行sudo apt-get update命令的時候,拋出了“404 Not Found”錯誤,並且我不能通過 apt-get or aptitude來更新包。由於這個錯誤,我甚至不能更新到最新發布版本的系統。我該如何解決這個問題呢?

每一個Ubuntu發布版本都有它的結束時間,通常,Ubuntu發布版本支持18個月,而LTS (Long Term Support)(長期支持)版本分別支持3年(服務器版)和5年(桌面版)。當一個Ubuntu發布版本到達結束期後,它的庫將不再能夠訪問,並且你也不會得到任何維護更新和安全補丁。當寫這個的時候,13.04版本已經到底了它的結束期。

 

如果你使用的是Ubuntu系統到達結束期了,你使用 apt-get or aptitude更新庫時會得到以下錯誤提示:

 

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/raring-backports/multiverse/binary-i386/Packages  404  Not Found [IP: 91.189.91.13 80]

 

W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/raring/main/binary-amd64/Packages  404  Not Found

 

W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/universe/binary-i386/Packages  404  Not Found [IP: 91.189.88.149 80]

 

E: Some index files failed to download. They have been ignored, or old ones used instead

對於那些使用舊版本的Ubuntu的用戶,Canonical會維護 old-releases.ubuntu.com ,這是一個過期庫的歸檔。因此,當Canonical支持的Ubuntu過期後,你必須把源切換到 old-releases.ubuntu.com(除非你想在過期前進行升級)。

 

下面的方法通過切換到舊版本的源來解決“404 Not Found”錯誤。

 

首先,使用舊版本的源來替換當前主源:

 

$ sudo sed -i -r 's/([a-z]{2}\.)?archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

$ sudo sed -i -r 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list

然後使用文本編輯器打開 /etc/apt/sources.list ,找到 extras.ubuntu.com,這個庫也不再支持13.04。所以你需要使用 “#” 號注釋掉 extras.ubuntu.com。

 

#deb http://extras.ubuntu.com/ubuntu raring main

#deb-src http://extras.ubuntu.com/ubuntu raring main

現在,你應該能夠在舊版本的Ubuntu系統上進行安裝或者更新了。

--------------

本文參考:http://webres.wang/404-not-found-error-apt-get-update-ubuntu/