Linux有問必答:如何更新過期版本的Ubuntu

贊 回覆發表於2015-06-10

問題: 我的PC上安裝了舊版的Ubuntu 13.04(急切的浣熊)。當我在上面執行“sudo apt-get update”時,它丟給了我一大堆“404 Not Found”錯誤,結果是我不能使用apt-get或aptitude來安裝或更新任何軟體包了。由於該錯誤的原因,我甚至不能將它升級到更新的版本。我怎樣才能修復這個問題啊?

每個Ubuntu版本都有生命結束週期(EOL)時間;常規的Ubuntu發行版提供18個月的支援,而LTS(長期支援)版本則長達3年(伺服器版本)和5年(桌面版本)。當某個Ubuntu版本達到生命結束週期時,其倉庫就不能再訪問了,你也不能再從Canonical獲取任何維護更新和安全補丁。在撰寫本文時,Ubuntu 13.04(急切的浣熊)已經達到了它的生命結束週期。

如果你所使用的Ubuntu系統已經被結束生命週期,你就會從apt-get或aptitude得到以下404錯誤,因為它的倉庫已經被遺棄了。

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”錯誤的便捷方式。

首先,使用old-releases倉庫替換main/security倉庫,就像下面這樣。

$ 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。該倉庫也不再支援Ubuntu 13.04了,所以你需要使用“#”號將extras.ubuntu.com註釋掉。

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

現在,你應該可以在舊版不受支援的Ubuntu上安裝或更新軟體包了。


via: http://ask.xmodulo.com/404-not-found-error-apt-get-update-ubuntu.html

作者:Dan Nanni 譯者:GOLinux 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章