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


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.