安装更新后显示有更新消息

安装更新后显示有更新消息

我刚刚将我的 HTPC 更新到 13.04(使用do-release-upgrade),登录时我收到“新版本可用”消息,但由于我刚刚升级并运行该版本,因此并没有出现该消息。

me@mybox: ~$ssh htpc
me@htpc's password: 
Welcome to Ubuntu 13.04 (GNU/Linux 3.8.0-19-generic i686)

 * Documentation:  https://help.ubuntu.com/

New release '13.04' available.
Run 'do-release-upgrade' to upgrade to it.

我现在使用的是 13.04,但我可以升级到 13.04。听起来是个好主意。或者不是。

我已经执行了“apt-get update和” upgrade(没有出现任何新情况)并重新启动了机器。为什么此消息仍然存在?需要修复哪些问题才能消除此消息?

欲了解更多信息,请访问:

htpc:~$ uname -a
Linux HTPC 3.8.0-19-generic #29-Ubuntu SMP Wed Apr 17 18:19:42 UTC 2013 i686 athlon i686 GNU/Linux

答案1

看起来罪魁祸首是/etc/update-motd.d/91-release-upgrade

这要求/usr/lib/ubuntu-release-upgrader/release-upgrade-motd

此文件检查文件/var/lib/ubuntu-release-upgrader/release-upgrade-available

如果存在,它就进入motd。如果不存在,它就调用/usr/lib/ubuntu-release-upgrader/check-new-release

最后一个命令确实给出了正确的结果,但由于某种原因,文件未被删除。我删除了文件并重新运行了命令。每日消息没有被放回。

所以最后一个问题是‘需要更新’的‘缓存’没有被清除。

我删除了这个文件并且它被修复了并且没有破坏任何东西:)

sudo rm /var/lib/ubuntu-release-upgrader/release-upgrade-available

这是从 12.10 升级到 13.04 的过程。在我的另一台机器上(12.04 LTS,有同样的问题),我不得不在另一个位置查找:

sudo rm /var/lib/update-notifier/release-upgrade-available

答案2

如果你打开这个文件/etc/update-motd.d/91-release-upgrade,你会看到里面调用了 bash /usr/lib/ubuntu-release-upgrader/release-upgrade-motd。当你打开这个文件时,我们会发现下面的代码:

stamp=/var/lib/ubuntu-release-upgrader/release-upgrade-available
if [ -s "$stamp" ]; then
        # Stamp exists and is populated, so display
        cat "$stamp"
        echo
elif [ -f "$stamp" ]; then
        # Stamp exists, but is empty, see if it's expired
        now=$(date +%s)
        lastrun=$(stat -c %Y "$stamp") 2>/dev/null || lastrun=0
        expiration=$(expr $lastrun + 86400)
        if [ $now -ge $expiration ]; then
                # But is older than 1 day old, so update in the background
                /usr/lib/ubuntu-release-upgrader/check-new-release -q > "$stamp$
        fi
else
        # No cache at all, so update in the background
        /usr/lib/ubuntu-release-upgrader/check-new-release -q > "$stamp" &
fi

如果文件存在则填充 stamp 变量/var/lib/ubuntu-release-upgrader/release-upgrade-available,如果文件为空则检查是否存在新版本。/var/lib/ubuntu-release-upgrader/release-upgrade-available如果您使用文本编辑器打开(nanovi...),您会发现一条消息,提示 Ubuntu 有新版本,因此如果您清空该消息或删除该消息,则会强制检查是否有新版本。

我希望我已经解释清楚了,并且对我的糟糕英语表示抱歉。

答案3

尝试一下sudo apt-get dist-upgrade
,你可能在这个文件中有这条消息,/etc/motd
如果你是最新的,你可以运行sodo rm /etc/motd<--编辑如果你有自定义的欢迎文本

答案4

现在已发布了修复程序,只需运行该修复程序sudo aptitude update && sudo aptitude full-upgrade即可删除该消息。

相关内容