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
を呼び出します。
その最後のコマンドは正しい結果を与えますが、ファイルは何らかの理由で削除されませんでした。ファイルを削除し、コマンドを再実行しました。その日のメッセージは元に戻されませんでした。
最後の問題は、「更新が必要」の「キャッシュ」がクリアされなかったことです。
私はこのファイルを削除し、何も壊さずに修正されました:)
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
ファイルが存在する場合、または空の場合は、新しいリリースが存在するかどうかをチェックします。 /var/lib/ubuntu-release-upgrader/release-upgrade-available
でテキストエディター(nano
、vi
...)で開くと、Ubuntuの新しいリリースがあるというメッセージが表示されるので、それを空にするか削除すると新しいリリースがあるかどうかを確認する必要があります。
私の悪い英語について説明してごめんなさい。
Sudo apt-get dist-upgrade
を試してください
このファイルにそのメッセージがあるかもしれません/etc/motd
最新の場合は、sodo rm /etc/motd
<-カスタムウェルカムテキストがある場合は編集できます。
私は次のことをしました:
cd /var/lib/ubuntu-release-upgrader/
mv release-upgrade-available release-upgrade-available.old
cd /usr/lib/ubuntu-release-upgrader/
./check-new-release
MOTDは正常に戻りました。
おそらく上記と同じですが、結果を完全に知らずに物を削除するのは好きではありません。そのファイルをそのまま残し、10月に13.10がアップグレードのプロンプトを表示するのを待ちます。それが機能していることがわかったら、.oldファイルを削除します(または、実際には何も傷つけていません)。
修正がリリースされました。Sudo aptitude update && Sudo aptitude full-upgrade
を実行するだけで、メッセージは削除されます。