发行版从 12.04 升级到 14.04 失败

发行版从 12.04 升级到 14.04 失败

使用更新管理器,在设置新的软件频道时,分发升级失败,并出现以下注释:

W:Failed to fetch http://archive.canonical.com/dists/$(lsb_release/-sc)/source/Sources  404  Not Found [IP: 91.189.92.191 80]
, W:Failed to fetch http://archive.canonical.com/dists/$(lsb_release/partner/source/Sources  404  Not Found [IP: 91.189.92.191 80]
, E:Some index files failed to download. They have been ignored, or old ones used instead.

自当前版本 12.04 以来的所有其他更新均有效。

知道为什么分布升级会失败吗?

答案1

假设您在编辑的命令中犯了一些错误sources.list,因为在它的末尾我们有:

deb http://archive.canonical.com/ $(lsb_release -sc) partner
deb-src http://archive.canonical.com/ $(lsb_release -sc) partner
deb-src http://extras.ubuntu.com/ubuntu precise main

编辑源以替换$(lsb_release -sc)为以下输出:

lsb_release -sc

对于 12.04 来说,那将是precise,因此您必须对其进行编辑(sudo nano /etc/apt/sources.list例如,使用 )以使其看起来像:

deb http://archive.canonical.com/ precise partner
deb-src http://archive.canonical.com/ precise partner
deb-src http://extras.ubuntu.com/ubuntu precise main

您可以使用此命令:

sudo sed '/lsb_release/ s/$(lsb_release -sc)/'$(lsb_release -sc)'/' -i.bak /etc/apt/sources.list

答案2

IP 91.189.92.191 成功解析为 archive.canonical.com。URL 似乎有错误。如果您lsb_release/-sc在终端中单独运行,它会失败。但是,如果您运行lsb_release -sc它,它会返回您的发行版的发布代号,在我的情况下是precise

尝试手动运行以下命令,以显示您应该使用哪一行:

echo "http://archive.canonical.com/dists/$(lsb_release -sc)/source/Sources"

相关内容