Ubuntu 18.04 utknęło przy aktualizacji nagłówka linux

13

Ilekroć próbuję zaktualizować swój system w Ubuntu 18.04, zatrzymuje się: oblepiony za każdym razem, gdy osiągnie Setting up linux-headers-<version>-generic. Nie mogę stamtąd anulować aktualizacji, ale nawet jeśli zostawisz ją na kilka godzin, nic to nie zmieni. Jeśli sprawdzę proces, htopto pokazuje, że teraz robi cokolwiek. Jeśli wymuszę zakończenie uaktualnienia i spróbuję go zrestartować, kiedy spróbuję ponownie uaktualnienia, oznacza to, że poprzednie zostało przerwane i powinienem spróbować z tym, sudo dpkg --configure -aco rozwiązuje problem.

Uważam, że to bardzo denerwujące, że muszę to robić za każdym razem, gdy dostępna jest aktualizacja nagłówka, szczególnie dlatego, że uważam, że tak się nie powinno stać i powinna istnieć bardziej trwała poprawka. Czego mi brakuje lub robię źle?

Masqueey
źródło
Uruchomiłeś to polecenie sudo dpkg --configure -a?
George Udosen
4
Tak, to rozwiązało problem. Ale dostaję tę opcję dopiero po tym, jak zepsuję aktualizację, i źle jest zastosować takie rozwiązanie zamiast bardziej trwałego rozwiązania.
Masqueey,
Nie ma trwałego rozwiązania, ale Ubuntu ma mechanizmy do obsługi ich, gdy się pojawią, ale oczywiście rutynowe aktualizacje również pomagają.
George Udosen,

Odpowiedzi:

9

TLDR: Wyłącz bezpieczny rozruch.

Ten sam problem zacząłem około miesiąca temu. Dla mnie okazało się, że rozwiązaniem było wyłączenie Bezpiecznego rozruchu. Mam wyłączony Bezpieczny rozruch od czasu zainstalowania Ubuntu 18.04 i jest aktualizowany bez żadnych problemów. Jednak około miesiąc temu zaktualizowałem BIOS, który ponownie włączył Bezpieczny rozruch (wtedy o tym nie wiedziałem). Frustrujące było zawieszanie się aktualizacji i w końcu to rozgryzłem, ponieważ moja instalacja VirtualBox również nie działała. Naprawą VirtualBox było wyłączenie Bezpiecznego rozruchu, który również naprawił moje linux-headers-<version>-genericaktualizacje.

Jak wspomniano w pytaniu, zamroziłoby się tutaj:

...
Setting up linux-headers-4.15.0-38-generic (4.15.0-38.41) ...

Po wyłączeniu Bezpiecznego rozruchu otrzymuję:

...
Setting up linux-headers-4.15.0-38-generic (4.15.0-38.41) ...
/etc/kernel/header_postinst.d/dkms:
Secure Boot not enabled on this system.
...
done
kjpc-tech
źródło
3
Dziękuję za tę odpowiedź. Rozłączyłem się w tym samym miejscu ... zrestartowałem, wyłączyłem bezpieczny rozruch, pomyślnie zaktualizowałem, zrestartowałem i ponownie włączyłem bezpieczny rozruch, i poszedłem swoją drogą.
Doktor J
7

Moje rozwiązanie;

  • ps aux | grep apt
  • Zabij apt proces
  • sudo dpkg --configure -a
  • apt update
  • apt upgrade
Kelalaka
źródło
1

Możesz sprawdzić odpowiedź na /var/log/apt/term.log. To jest lokalizacja apt-getdziennika. Możesz także sprawdzić dpkgplik dziennika /var/log/dpkg.log aptlub apt-getużywane są na podstawie dpkgwewnętrznej.

Jeszcze jedną rzecz możesz zidentyfikować proces według ID i uruchomić, strace -paby sprawdzić dokładnie, dlaczego się on kończy.

To raczej ogólna odpowiedź na to lub podobne pytania.

prosti
źródło
Dodanie tego do moich osobistych notatek diagnostycznych. Doskonała wskazówka. Dzięki.
TonyG,