在旧版本Ubuntu系统中使用“apt-get update”出现“404 Not Found”错误的解决办法

时间:2020-12-24 05:27:59
每一个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系统上进行安装或者更新了。