最近 Debian Wheezy LTS 发布了新版本的软件包,例如 wget 1.13.4-3+deb7u4(参见公告这里),在我的系统上我仍然安装了旧版本,例如 wget 1.13.4-3+deb7u3。
我的sources.list只有一行:
deb http://security.debian.org/ wheezy/updates main
我的首选项文件根本不存在。我使用另一个sources.list 文件进行定期安全升级。做时apt-get -o Dir::Etc::SourceList=security-sources.list update
看起来不错:
Hit http://security.debian.org wheezy/updates Release.gpg
Hit http://security.debian.org wheezy/updates Release
Hit http://security.debian.org wheezy/updates/main armel Packages
Reading package lists... Done
但是在进行apt-get upgrade
或 dist-upgrade 时,它不会安装最新的软件包版本:
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
另外,apt-cache policy wget
没有列出最新版本:
wget:
Installed: 1.13.4-3+deb7u3
Candidate: 1.13.4-3+deb7u3
该问题是可重现的。
为什么 apt-get Upgrade 找不到并安装最新版本的已发布软件包,例如 wget deb7u4?
答案1
我找到了解决方案:在命令中,apt-get update
有另一个与-o Dir::Etc::SourceList=/etc/apt/security-sources.list
但一起使用的sources.list文件,但apt-get upgrade
在没有其他source.list文件的情况下被调用 - 我认为不再需要它 - 但它是。一旦我使用相同的sources.list文件进行更新和升级,一切工作正常。谢谢你的帮助
答案2
当您尝试升级时,armel
二进制文件尚未准备好:请参阅池内容(时间戳为 UTC AFAIK),它们是在 11:13 UTC 上传的。如果您现在再次尝试升级,它应该可以工作。
你的sources.list
有些不完整;推荐设置喘息 LTS是
deb http://httpredir.debian.org/debian/ wheezy main contrib non-free
deb-src http://httpredir.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://httpredir.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://httpredir.debian.org/debian/ wheezy-updates main contrib non-free
(添加限定符时要小心arch
,您很可能会错过与体系结构无关的更新)。