Ubuntu говорит мне, что у меня есть пакеты для обновления, когда я не

18

У меня есть сервер, на котором я никогда не захожу на дисплей X, только через ssh. Недавно я вошел в систему, и он сказал мне, что у меня было

12 packages can be updated.
6 updates are security updates.

Я действительно уже знал это, потому что я запускаю munin на нем и на всех других моих серверах. Так или иначе, я сделал "sudo aptitude" и установил все обновления, затем перезагрузил компьютер. Несколько дней спустя Мунин сказал мне, что мне нужно обновить другой пакет, поэтому я вошел в систему, но в сообщении для входа было сказано:

12 packages can be updated.
6 updates are security updates.

Я вошел в aptitude и установил одно обновление. Ubuntu все еще говорит мне, что у меня есть 12 пакетов для обновления. Мунин говорит, что у меня их нет. Я пытался, aptitude -d -y dist-upgradeи apt-get -d -y dist-upgradeоба они говорят мне, что устанавливать нечего. Так почему информация для входа все еще говорит мне, что у меня есть 12 пакетов для обновления?

Пол Томблин
источник
Ты сделал sudo aptitude updateснова? Просто чтобы убедиться, что он обновлен;) Кроме того, запуск sudo aptitude safe-upgradeможет помочь, вы можете использовать aptitude так же, как apt-get, с аргументами командной строки ... aptitudeодин запускает интерактивный интерфейс, который я лично знаю, что хорошая группа пользователей не использует ,
Томас Уорд
@ Evil, проблема не в aptitude, а в том, что использует Ubuntu, чтобы сообщить, сколько пакетов нужно обновить. aptitude установил 12 обновлений пакета несколько дней назад.
Пол Томблин,
1
FWIW, я вижу ту же проблему в Ubuntu 10.10 сейчас. Может быть, ошибка?
гр
Да, не могли бы вы отправить сообщение об ошибке? и ссылку на этот вопрос.
Джереми Бича
На Trusty 14.04.3 LTS запуск «sudo aptitude safe-upgrade» удалил эти сообщения, а «sudo apt-get upgrade» - нет.
Биби

Ответы:

10

Это ошибка в initscripts , исправленная в Natty, которая копирует текущее состояние motdв /etc/motd.tail. motdдинамически генерируется при загрузке, но motd.tailявляется статическим (что позволяет системному администратору размещать некоторую фиксированную информацию для всех пользователей).

Удаление motd.tailвременно устранит проблему, но лучшим решением будет создание пустого motd.tail. Если файл не существует, он может быть создан снова (неправильно) при initscriptsобновлении.

Создать пустое motd.tailс

sudo touch /etc/motd.tail
Дэйв Дженнингс
источник
2
Я вижу эту же проблему в 12.04.2 LTS, и нет /etc/motd.tailфайла; просто /etc/motd, который содержит оскорбительный текст. Отметка времени («Системная информация на ...») является точной, но количество обновляемых пакетов - нет.
Ламбарт
6

Похоже, проблема заключается в логике, в /usr/lib/update-notifier/update-motd-updates-availableкоторой принимается решение о том, что нет оснований для запуска /usr/lib/update-notifier/apt-check --human-readableна основе меток времени /var/lib/update-notifier/updates-availableи sources.list и нескольких других файлов.

Я не уверен, что именно является настоящей ошибкой, но удаление кэшированного файла, по крайней мере, сбрасывает его до 0 обновлений, хотя Бог знает, будет ли оно показывать правильное число, когда появятся доступные обновления.

Пол Томблин
источник
1

Если это просто сообщение для входа в систему (motd), в котором говорится, что пакеты нуждаются в обновлении, то, возможно, оно просто update-motdне запустилось некоторое время. Попробуйте запустить, update-motdа затем снова войти в систему, чтобы увидеть, исправит ли это. Он должен восстановить файл / etc / motd.

Рич Адамс
источник
Информация о пакете для update-motd гласит: «Функции, ранее предоставляемые этим пакетом, теперь интегрированы в pam_motd, в libpam-modules».
Пол Томблин,
1

В некоторых системах я видел неправильные отчеты об обновлениях пакетов, но также две строки: «Ubuntu 10.04.2 LTS» и «Ubuntu 10.04.1 LTS», хотя я был 10.04.2.

Как сказал Карл, /etc/motd.tail содержит старый текст, и удаление его решило проблему для меня идеально

Гордон Уильямс
источник
1

У меня та же проблема на 10.04.2.

# aptitude install update-motd

Selecting previously deselected package update-motd.
(Reading database ... 36453 files and directories currently installed.)
Unpacking update-motd (from .../update-motd_3.5-0ubuntu1_all.deb) ...
 Removing any system startup links for /etc/init.d/update-motd ...
Setting up update-motd (3.5-0ubuntu1) ...

Но после слов нет утилиты командной строки update-motd, и я не могу найти ничего о pam_motd.

Удаление /etc/motdсделанного сообщения исчезнет, ​​но очевидно, что безопасное обновление уже должно было это сделать.

Стив Штайнер
источник
1

Проверьте, /etc/motd.tailсодержит ли сообщения обновления. Если да, удалите их.

Карл Напф
источник