Aggiorna il messaggio disponibile dopo aver installato l'aggiornamento


23

Ho appena aggiornato il mio HTPC a 13.04 (usando do-release-upgrade) e quando accedo ottengo il messaggio "nuova versione disponibile", mentre non è come ho appena aggiornato ed eseguito quella versione.

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.

Quindi sono al 13.04, ma posso passare al 13.04. Suona come un piano. O no.

Ho fatto un apt-get updatee upgrade(non era una novità) e riavviato la macchina. Perché questo messaggio è ancora qui e cosa deve essere risolto in modo che scompaia?

Per maggiori informazioni forse:

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

Risposte:


34

Sembra che il colpevole sia /etc/update-motd.d/91-release-upgrade

Questo chiama /usr/lib/ubuntu-release-upgrader/release-upgrade-motd

Questo file controlla il file /var/lib/ubuntu-release-upgrader/release-upgrade-available

Se esiste, va nel motd. In caso contrario, chiama /usr/lib/ubuntu-release-upgrader/check-new-release.

L'ultimo comando dà il risultato giusto, ma il file non è stato rimosso per qualche motivo. Ho rimosso il file ed eseguito nuovamente i comandi. Il messaggio del giorno non è stato rimandato.

Quindi il problema finale era che la "cache" di "aggiornamento necessario" non veniva cancellata.

Ho rimosso questo file ed è stato risolto senza interrompere nulla :)

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

Questo è stato un aggiornamento 12.10 -> 13.04. Sull'altra mia scatola (12.04 LTS, con lo stesso problema) ho dovuto cercare in un'altra posizione:

sudo rm /var/lib/update-notifier/release-upgrade-available

Usato questo metodo e ha funzionato. Non posso accettare fino a quando non sono trascorsi 2 giorni :)
Nanne

Grazie per questa approfondita indagine. Per chiarire: facendo sudo rm /var/lib/ubuntu-release-upgrader/release-upgrade-availableseguito da sudo /usr/lib/ubuntu-release-upgrader/release-upgrade-motdcorregge il messaggio stantio.
natevw,

2
Non dovresti aver bisogno (o nemmeno voler) rimuovere quel secondo! È uno script che verifica la disponibilità di nuovi aggiornamenti (ma solo se non ne ha trovato uno prima e lo ha salvato). Quindi /var/lib/penso che solo quello in dovrebbe essere rimosso.
Nanne,

A destra, rimuovi il "flag" disponibile per l'aggiornamento-versione e quindi esegui nuovamente lo script di rilascio-upgrade-motd.
natevw,

1
Cordiali saluti, sembra che ci siano segnalazioni di bug per questo - eccone uno . Sembra che ci sia una correzione per 13.10.
thegrinner

4

se apri il file /etc/update-motd.d/91-release-upgrade, all'interno vedrai che chiama bash /usr/lib/ubuntu-release-upgrader/release-upgrade-motd. Quando apri questo file all'interno troviamo questo codice:

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

La variabile stamp viene populata per /var/lib/ubuntu-release-upgrader/release-upgrade-availablefile se esiste o se è vuota altrimenti controlla se esiste una nuova versione. in /var/lib/ubuntu-release-upgrader/release-upgrade-availablese si apre con editor di testo ( nano, vi...) si trova solo il messaggio che c'è una nuova release di Ubuntu, quindi se si svuota che o rimuovere si forza per controllare se c'è una nuova versione.

Spero di aver spiegato e dispiaciuto per il mio cattivo inglese.


1

prova sudo apt-get dist-upgrade
che potresti avere quel messaggio in questo file /etc/motd
Se sei aggiornato, puoi eseguire sodo rm /etc/motd<- modifica se hai un testo di benvenuto personalizzato


Bene, è in motdeffetti (come è il motd), ma non sarebbe barare? il sistema crede di avere un aggiornamento per qualche motivo, mi piacerebbe scoprire perché
Nanne

se il 1 ° comando non trova aggiornamenti anche dopo l'esecuzione sudo apt-get updatee lsb_release -scti dà che raringsei aggiornato e il messaggio è errato, quindi dovrebbe essere rimosso
GM-Script-Writer-62850

Sono d'accordo. Non sono d'accordo con il tuo metodo di rimozione del motd;)
Nanne,

+1 per avermi indirizzato a motd, risposta non completa però, perché sarebbe tornato se l'avessi appena rimosso.
Nanne,

0

Ho fatto quanto segue:

  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. Disconnetti / Accedi

MOTD era tornato alla normalità.

Probabilmente come sopra, ma non mi piace cancellare le cose senza conoscerne appieno le conseguenze. Lascerò quel file lì e aspetterò che il 13.10 richieda l'aggiornamento a ottobre. Una volta che so che funziona, eliminerò il file .old (o no, non fa davvero male a nulla).


il file è un flag, non è necessario farlo affatto.
Nanne,

0

Ora è stata rilasciata una correzione, basta eseguirla sudo aptitude update && sudo aptitude full-upgradee il messaggio verrà rimosso.


Questo non aggiorna l'intero sistema? Sembra un po 'sciocco :) Comunque, questa domanda era su cosa fare se il messaggio non scompare. Buono a sapersi che probabilmente non sarà di nuovo appiccicoso, ma questo potrebbe essere migliore come commento?
Nanne,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.