Ubuntu 提示我需要升级软件包,但实际上并没有

Ubuntu 提示我需要升级软件包,但实际上并没有

我有一台服务器,我从来不登录 X 显示器,只通过 ssh 登录。最近我登录时,它告诉我我已

12 packages can be updated.
6 updates are security updates.

我其实已经知道了,因为我在它和所有其他服务器上都运行了 munin。所以无论如何,我执行了“sudo aptitude”并安装了所有更新,然后重新启动。几天后,munin 告诉我需要升级另一个软件包,所以我登录了,但登录消息显示:

12 packages can be updated.
6 updates are security updates.

我进入 aptitude 并安装了一个更新。Ubuntu 仍然告诉我有 12 个软件包需要更新。Munin 告诉我我没有任何软件包。我试过了,aptitude -d -y dist-upgrade它们apt-get -d -y dist-upgrade都告诉我没有要安装的软件包。那么为什么登录信息仍然告诉我有 12 个软件包需要更新?

答案1

它是启动脚本中的错误,在 Natty 中已修复,它将 的当前状态复制motd/etc/motd.tailmotd在您启动时会动态生成,但是motd.tail静态的(允许系统管理员为所有用户在那里放置一些固定信息)。

删除motd.tail将暂时解决问题,但更好的解决方案是创建一个空的motd.tail。如果文件不存在,则initscripts升级时可能会再次(错误地)创建它。

创建一个空motd.tail

sudo touch /etc/motd.tail

答案2

问题似乎在于其逻辑, 即根据sources.list 和一些其他文件的时间戳来/usr/lib/update-notifier/update-motd-updates-available决定没有理由运行。/usr/lib/update-notifier/apt-check --human-readable/var/lib/update-notifier/updates-available

我不确定实际的错误是什么,但删除缓存文件至少会将其重置为 0 个更新,尽管只有上帝知道在有可用更新时它是否会显示正确的数字。

答案3

我最近在 Serverfault 上回答过类似的问题:

ubuntu 服务器:SSH 横幅提示更新软件包,但没有任何内容可更新

你所说的横幅叫做 MOTD(每日讯息)。它似乎是一个错误可以通过删除文件来解决这个问题/etc/motd.tail

答案4

我在 10.04.2 上遇到了同样的问题。

# aptitude install update-motd

Selecting previously deselected package update-motd.
(Reading database ... 36453 files and directories currently installed.)
Unpacking update-motd (from .../update-motd_3.5-0ubuntu1_all.deb) ...
 Removing any system startup links for /etc/init.d/update-motd ...
Setting up update-motd (3.5-0ubuntu1) ...

但之后没有 update-motd 命令行工具,而且我找不到有关 pam_motd 的任何信息。

删除/etc/motd后消息就消失了,但是显然安全升级应该已经完成​​了这个操作。

相关内容