Perbarui pesan yang tersedia setelah menginstal pembaruan

23

Saya baru saja memperbarui HTPC saya ke 13,04 (menggunakan do-release-upgrade) dan ketika masuk saya mendapatkan pesan "rilis baru yang tersedia", sementara tidak ada karena saya baru saja memutakhirkan dan menjalankan versi itu.

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.

Jadi saya di 13,04, tapi saya bisa meng-upgrade ke 13,04. Kedengaranya seperti sebuah rencana. Atau tidak.

Saya telah melakukan apt-get updatedan upgrade(bukan hal yang baru) dan reboot mesin. Mengapa pesan ini masih ada di sini, dan apa yang perlu diperbaiki agar hilang?

Untuk info lebih lanjut mungkin:

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

Jawaban:

34

Sepertinya pelakunya /etc/update-motd.d/91-release-upgrade

Ini panggilan /usr/lib/ubuntu-release-upgrader/release-upgrade-motd

File ini memeriksa file tersebut /var/lib/ubuntu-release-upgrader/release-upgrade-available

Jika itu ada, itu masuk dalam motd. Jika tidak, itu panggilan /usr/lib/ubuntu-release-upgrader/check-new-release.

Perintah terakhir itu memang memberikan hasil yang benar, tetapi file itu tidak dihapus karena alasan tertentu. Saya menghapus file dan menjalankan kembali perintah. Pesan hari tidak dikembalikan.

Jadi masalah terakhir adalah 'cache' dari 'pembaruan yang dibutuhkan' tidak dihapus.

Saya menghapus file ini dan diperbaiki tanpa merusak apa pun :)

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

Ini adalah peningkatan 12.10 -> 13.04. Di kotak saya yang lain (12,04 LTS, memiliki masalah yang sama) saya harus mencari di lokasi lain:

sudo rm /var/lib/update-notifier/release-upgrade-available
Nanne
sumber
Menggunakan metode ini dan berhasil. Tidak dapat menerima sampai 2 hari lebih dari :)
Nanne
Terima kasih atas penyelidikan menyeluruh ini. Untuk memperjelas: melakukan sudo rm /var/lib/ubuntu-release-upgrader/release-upgrade-availablediikuti dengan sudo /usr/lib/ubuntu-release-upgrader/release-upgrade-motdmemperbaiki pesan basi.
natevw
2
Anda tidak perlu (atau bahkan ingin) menghapus yang kedua! Ini adalah skrip yang memeriksa pemutakhiran baru yang tersedia (tetapi hanya jika belum pernah menemukan sebelumnya dan menyimpannya). Jadi hanya yang di /var/lib/harus dihapus saya pikir.
Nanne
Kanan, hapus "flag" rilis-upgrade-tersedia dan kemudian jalankan kembali script rilis-upgrade-motd.
natevw
1
Hanya FYI, tampaknya ada laporan bug untuk itu - ini satu . Sepertinya ada perbaikan untuk 13.10.
thegrinner
4

jika Anda membuka file /etc/update-motd.d/91-release-upgrade, di dalamnya Anda akan melihat panggilan bash /usr/lib/ubuntu-release-upgrader/release-upgrade-motd. Ketika Anda membuka file ini di dalam, kami menemukan kode ini:

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

variabel stempel adalah populade oleh /var/lib/ubuntu-release-upgrader/release-upgrade-availablefile jika ada atau jika kosong itu memeriksa apakah ada rilis baru. di /var/lib/ubuntu-release-upgrader/release-upgrade-availablejika Anda membuka dengan editor teks ( nano, vi...) Anda akan menemukan pesan bahwa ada rilis baru Ubuntu, jadi jika Anda mengosongkannya atau menghapus Anda memaksa untuk memeriksa apakah ada rilis baru.

Saya harap saya menjelaskan dan menyesal tentang bahasa Inggris saya yang buruk.

Hantu
sumber
1

coba sudo apt-get dist-upgrade
Anda mungkin memiliki pesan itu di file ini /etc/motd
Jika Anda up to date, Anda dapat menjalankan sodo rm /etc/motd<- edit jika Anda memiliki teks sambutan khusus

GM-Script-Writer-62850
sumber
Yah, itu motdsebenarnya (seperti motd), tapi bukankah itu curang? sistem percaya ada pembaruan untuk beberapa alasan, saya ingin mencari tahu mengapa
Nanne
jika perintah ke-1 tidak menemukan pembaruan bahkan setelah berjalan sudo apt-get updatedan lsb_release -scmemberi Anda raringpembaruan dan pesannya tidak benar maka harus dihapus
GM-Script-Writer-62850
Saya setuju. Saya hanya tidak setuju dengan metode Anda menghapus motd;)
Nanne
1 untuk menunjuk saya ke motd, meskipun tidak menyelesaikan jawaban, karena itu akan kembali jika saya baru saja menghapusnya.
Nanne
0

Saya melakukan yang berikut:

  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. Logout / Keluar

MOTD kembali normal.

Mungkin sama seperti di atas, tetapi saya tidak suka menghapus sesuatu tanpa sepenuhnya mengetahui konsekuensinya. Saya hanya akan meninggalkan file itu di sana, dan menunggu pukul 13.10 untuk meminta pembaruan pada bulan Oktober. Setelah saya tahu itu berfungsi, saya akan menghapus file .old (atau tidak, itu benar-benar tidak menyakiti apa pun).

pengguna160681
sumber
file adalah sebuah bendera, tidak perlu melakukan ini sama sekali.
Nanne
0

Sekarang ada perbaikan yang dirilis, jalankan sudo aptitude update && sudo aptitude full-upgradedan pesan akan dihapus.

Znarkus
sumber
Bukankah ini memperbarui seluruh sistem Anda? Kedengarannya agak konyol :) Pokoknya, pertanyaan ini adalah tentang apa yang harus dilakukan jika pesan tidak hilang. Senang mengetahui itu mungkin tidak akan lengket lagi sulit, tetapi ini mungkin lebih baik sebagai komentar?
Nanne