我的问题与Ubuntu 提示我需要升级软件包,但实际上并没有,适用于 Ubuntu 10.04。但我的问题出在 Ubuntu 12.04.2LTS(针对 10.04 的解决方案不起作用)。
根据我从该问题以及 ServerFault 上的相关问题(同样没有帮助的答案)中了解到的信息,我尝试运行/usr/lib/update-notifier/apt-check --human-readable
,但它返回错误的信息(相同的信息会在每次通过 ssh 登录时自动添加/etc/motd
并显示):
6 packages can be updated.
6 updates are security updates.
就在今天,我运行了sudo apt-get update && sudo apt-get upgrade
,发现有一个常规更新可用(加上 3 个内核包,它们被阻止了)。但我的更新和升级并没有改变 的输出apt-check
。我遇到这个问题已经有一段时间了,今天才决定研究一下。
对于 10.04,我已经看到了相关的修复/etc/motd.tail
,但我的系统上不存在这样的文件。
答案1
清除包缓存并再次下载:
sudo dpkg --clear-avail
sudo apt-get update
如果不能解决问题,请创建一个空的motd.tail
:
sudo touch /etc/motd.tail
答案2
好吧,事实证明这条apt-check
消息是正确的。但这条apt-get upgrade
消息具有误导性。它说:
The following packages have been kept back:
linux-headers-server linux-image-server linux-server
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
这自然会让人相信只有 3 个软件包可以下载和安装/升级。
但是当我这样做时sudo apt-get install linux-server
(我知道的唯一办法是摆脱升级时的‘保留’状态),它说:
3 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
没错,就像apt-check
说的那样,3 + 3 = 6 个包!安装/升级后,重新登录后显示没有可用的更新。