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?


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

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

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.


Dodanie tego do moich osobistych notatek diagnostycznych. Doskonała wskazówka. Dzięki.
— TonyG,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.