Ubuntu mówi mi, że mam pakiety do aktualizacji, gdy tego nie robię

18

Mam maszynę serwerową, na której nigdy nie loguję się na ekranie X, tylko przez ssh. Ostatnio się zalogowałem i powiedział mi, że mam

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

Właściwie już to wiedziałem, ponieważ uruchamiam na nim i wszystkich innych serwerach munin. W każdym razie zrobiłem „sudo aptitude” i zainstalowałem wszystkie aktualizacje, a następnie uruchomiłem ponownie. Kilka dni później munin powiedział mi, że muszę zaktualizować kolejny pakiet, więc zalogowałem się, ale komunikat logowania powiedział:

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

Poszedłem do aptitude i zainstalowałem jedną aktualizację. Ubuntu wciąż mówi mi, że mam 12 pakietów do aktualizacji. Munin mówi, że nie mam. Próbowałem aptitude -d -y dist-upgradei apt-get -d -y dist-upgradeoboje mówią mi, że nie ma nic do zainstalowania. Dlaczego więc informacje logowania nadal mówią mi, że mam 12 pakietów do zaktualizowania?

Paul Tomblin
źródło
Zrobiłeś to jeszcze sudo aptitude updateraz? Tylko po to, aby się zaktualizować;) Również uruchamianie sudo aptitude safe-upgrademoże pomóc, możesz użyć aptitude tak jak apt-get, z argumentami wiersza poleceń ... aptitudesam uruchamia interaktywny interfejs, którego osobiście znam dobrą grupę użytkowników, z których nie korzysta .
Thomas Ward
@Evil, problem nie tkwi w umiejętnościach, tylko w Ubuntu, aby zgłosić, ile pakietów należy zaktualizować. aptitude zainstalowało 12 aktualizacji pakietu kilka dni temu.
Paul Tomblin
1
FWIW, teraz widzę ten sam problem na Ubuntu 10.10. Może błąd?
grm
Tak, możesz zgłosić błąd w tej sprawie? i link do tego pytania.
Jeremy Bicha
W systemie Trusty 14.04.3 LTS uruchomienie „sudo aptitude safe-upgrade” usunęło te komunikaty, gdy „sudo apt-get upgrade” tego nie zrobiło.
Beebee

Odpowiedzi:

10

Jest to błąd w skryptach startowych , naprawiony w Natty, który kopiuje bieżący stan motddo /etc/motd.tail. motdjest generowany dynamicznie przy każdym uruchomieniu, ale motd.tailjest statyczny (pozwalając sysadminowi umieścić tam pewne informacje dla wszystkich użytkowników).

Usunięcie motd.tailtymczasowo naprawi problem, ale lepszym rozwiązaniem jest utworzenie pustego motd.tail. Jeśli plik nie istnieje, może zostać utworzony ponownie (niepoprawnie) podczas initscriptsaktualizacji.

Utwórz pusty za motd.tailpomocą

sudo touch /etc/motd.tail
Dave Jennings
źródło
2
Widzę ten sam problem w 12.04.2 LTS i nie ma /etc/motd.tailpliku; właśnie /etc/motd, który zawiera obrażający tekst. Znacznik czasu („Informacje o systemie od ...”) jest dokładny, ale liczba aktualizowalnych pakietów nie.
Lambart
6

Problemem wydaje się być logika, /usr/lib/update-notifier/update-motd-updates-availablektóra decyduje, że nie ma powodu, aby uruchamiać się /usr/lib/update-notifier/apt-check --human-readablena podstawie znaczników czasu na /var/lib/update-notifier/updates-availablei sources.list oraz kilku innych plików.

Nie jestem pewien, jaki jest rzeczywisty błąd, ale usunięcie pliku z pamięci podręcznej przynajmniej zresetowało go do 0 aktualizacji, chociaż Bóg wie tylko, czy wyświetli prawidłową liczbę, gdy są dostępne aktualizacje.

Paul Tomblin
źródło
1

Jeśli to tylko komunikat logowania (motd) informuje, że pakiety wymagają aktualizacji, może to oznaczać, że update-motdod jakiegoś czasu nie działało. Spróbuj uruchomić, update-motda następnie zaloguj się ponownie, aby zobaczyć, czy to rozwiązuje problem. Powinien ponownie wygenerować plik / etc / motd.

Rich Adams
źródło
Informacje o pakiecie dla update-motd mówią: „Funkcjonalność poprzednio oferowana przez ten pakiet jest teraz zintegrowana z pam_motd w modułach libpam”.
Paul Tomblin,
1

W kilku systemach widziałem nieprawidłowe raporty pakietów do aktualizacji, ale także 2 linie „Ubuntu 10.04.2 LTS” i „Ubuntu 10.04.1 LTS”, mimo że miałem 10.04.2.

Jak powiedział Karl, plik /etc/motd.tail zawierał stary tekst, a jego usunięcie doskonale rozwiązało problem

Gordon Williams
źródło
1

Mam ten sam problem 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) ...

Ale nie ma słów kluczowych wiersza poleceń update-motd i nie mogę znaleźć niczego o pam_motd.

Usunięcie /etc/motdspowodowało, że komunikat zniknął, ale oczywiście bezpieczna aktualizacja powinna już to zrobić.

Steve Steiner
źródło
1

Sprawdź, czy /etc/motd.tailzawiera komunikaty o aktualizacji. Jeśli tak, usuń je.

Karl Napf
źródło