当前位置: 首页>>技术教程>>正文


updates – 安装更新后更新可用消息

, ,

问题描述

我刚刚将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 updateupgrade(没有什么新功能)并重新启动了计算机。为什么此消息仍在此处,什么需要修复才能消失?

有关更多信息,也许:

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

最佳方案

罪魁祸首是/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

最后一个命令的确给出了正确的结果,但是由于某种原因未删除该文件。我删除了文件,并删除了re-ran命令。 msg-of-the天没有被推迟。

因此,最后一个问题是未清除’update needed’的’cache’。

我删除了这个文件,它没有任何损坏地被固定:)

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

次佳方案

如果打开文件/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

/var/lib/ubuntu-release-upgrader/release-upgrade-available文件是否存在stamp变量,如果存在或为空,则检查是否存在新版本。在/var/lib/ubuntu-release-upgrader/release-upgrade-available中,如果使用文本编辑器(nanovi …)打开,则只会显示一条消息,指出有新版本的Ubuntu,因此,如果清空或删除它,则必须检查是否有新版本。

我希望我能为我的英语不好解释并感到抱歉。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10938.html,未经允许,请勿转载。