使用更新管理器,在设置新的软件频道时,分发升级失败,并出现以下注释:
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"