Оновіть доступне повідомлення після встановлення оновлення


23

Щойно я оновив свій 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

Відповіді:


34

Схоже, винуватець є /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

Використовували цей метод і він спрацював. Не можна приймати, поки не закінчиться 2 дні :)
Нанна

Дякую за ретельне розслідування. Для уточнення: виконайте sudo rm /var/lib/ubuntu-release-upgrader/release-upgrade-availableнаступні дії, щоб sudo /usr/lib/ubuntu-release-upgrader/release-upgrade-motdвиправити повідомлення про несвіжість.
natevw

2
Вам не потрібно (або навіть хотіти) видаляти цю другу! Це сценарій, який перевіряє наявність нових оновлень (але лише якщо він раніше не знайшов і зберег). Тож /var/lib/я можу видалити лише той, що знаходиться в .
Нанна

Правильно видаліть доступний "прапор", доступний для випуску та оновлення, а потім повторно запустіть сценарій випуску-оновлення-motd.
natevw

1
Просто FYI, там, як видається, є повідомлення про помилки - ось один . Схоже, виправлення в 13.10.
thegrinner

4

якщо ви відкриєте файл /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, так що якщо ви очищаєте що або видалити ви змушуєте , щоб перевірити, чи є нова версія.

Я сподіваюся, що я пояснив і шкодую про свою погану англійську мову.


1

спробуйте sudo apt-get dist-upgrade
, можливо, це повідомлення є у цьому файлі/etc/motd
Якщо ви останній час, можете запустити sodo rm /etc/motd<- редагувати, якщо у вас є власний вітальний текст


Добре, це motdнасправді (як це мотоблок), але хіба це не обман? система вважає, що вона має оновлення чомусь, я хотів би дізнатися чому
Нанна

якщо перша команда не знайде оновлень навіть після запуску sudo apt-get updateта lsb_release -scдає вам raringоновлення, а повідомлення неправильне, тому слід видалити
GM-Script-Writer-62850

Я згоден. Я просто не згоден з вашим методом зняття мот;;
Нанна

+1 за те, що вказує мені на motd, але не повна відповідь, тому що вона б повернулася, якби я просто її зняв.
Нанна

0

Я зробив наступне:

  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 повернувся до норми.

Напевно, те саме, що вище, але мені не подобається видаляти речі, не знаючи повністю наслідків. Я просто залиште цей файл там і чекатиму, коли 13.10 з’явиться запит на оновлення у жовтні. Як тільки я знаю, що це працює, я видалю файл .old (чи ні, насправді нічого не шкодить).


файл - це прапор, цього взагалі не потрібно робити.
Нанна

0

Зараз виправлено виправлення, просто запустіть sudo aptitude update && sudo aptitude full-upgradeі повідомлення буде видалено.


Це не оновлює всю вашу систему? Це звучить трохи нерозумно :) У всякому разі, це питання стосувалося того, що робити, якщо повідомлення не зникне. Добре знати, що це, ймовірно, не стане клейким знову жорстким, але це може бути краще як коментар?
Нанна
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.