问题描述
我刚刚将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
最佳方案
罪魁祸首是/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
中,如果使用文本编辑器(nano
,vi
…)打开,则只会显示一条消息,指出有新版本的Ubuntu,因此,如果清空或删除它,则必须检查是否有新版本。
我希望我能为我的英语不好解释并感到抱歉。