web-dev-qa-db-ja.com

更新プログラムのインストール後に利用可能なメッセージを更新します

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
23
Nanne

犯人は/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
34
Nanne

ファイル/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でテキストエディター(nanovi ...)で開くと、Ubuntuの新しいリリースがあるというメッセージが表示されるので、それを空にするか削除すると新しいリリースがあるかどうかを確認する必要があります。

私の悪い英語について説明してごめんなさい。

4
Ghost

Sudo apt-get dist-upgradeを試してください
このファイルにそのメッセージがあるかもしれません/etc/motd
最新の場合は、sodo rm /etc/motd <-カスタムウェルカムテキストがある場合は編集できます。

私は次のことをしました:

  1. cd /var/lib/ubuntu-release-upgrader/
  2. mv release-upgrade-available release-upgrade-available.old
  3. cd /usr/lib/ubuntu-release-upgrader/
  4. ./check-new-release
  5. ログアウト/ログイン

MOTDは正常に戻りました。

おそらく上記と同じですが、結果を完全に知らずに物を削除するのは好きではありません。そのファイルをそのまま残し、10月に13.10がアップグレードのプロンプトを表示するのを待ちます。それが機能していることがわかったら、.oldファイルを削除します(または、実際には何も傷つけていません)。

0
user160681

修正がリリースされました。Sudo aptitude update && Sudo aptitude full-upgradeを実行するだけで、メッセージは削除されます。

0
Znarkus