Najnowsze aktualizacje jądra Ubuntu 16.04 (4.4.0-89 i -91) zawiodły na moim laptopie. Na szczęście mam poprzednią, działającą wersję, nadal zainstalowaną (4.4.0-57). Na razie mam skonfigurowanego Gruba, aby pokazywał mi menu, i ręcznie wybieram -57 przy starcie, ale wydaje się to kruche, prawdopodobnie zepsuje się w przyszłości sudo apt upgrade
.
Myślę, że chcę:
- Aby usunąć -89 i -91, ponieważ nie robią mi nic dobrego.
- Aby ustawić -57 jako domyślny dla Grub, w sposób, który będzie trwał przez aktualizacje.
- Aby upewnić się, że -57 pozostanie zainstalowany, nawet jeśli zainstaluję późniejszą aktualizację jądra
- Aby móc łatwo wypróbować późniejsze aktualizacje jądra, ale w razie niepowodzenia powróć do -57. Moim głównym problemem jest automatyczne usunięcie -57.
- Jeśli znajdę działającą późniejszą aktualizację, łatwą ścieżkę do powrotu do cofnięcia tego wszystkiego i powrotu do kolejnych aktualizacji jądra.
Próba usunięcia -91 za pomocą sudo apt remove linux-image-4.4.0-91-generic
wymaga usunięcia linux-generic i linux-headers-generic. To wydaje się złe, więc nie próbowałem.
Mogę znaleźć wiele pytań na temat ogólnego problemu, ale wydaje się, że żadne nie odnosi się do wszystkich moich celów, a większość z nich jest na tyle duża, że nie sądzę, aby miały one więcej zastosowania.
Jak najlepiej to zrobić?
Dodatek : Oznaczono go jako duplikat Jak zapobiec aktualizacji określonego pakietu? . Ta odpowiedź może dotyczyć części mojego pytania, ale nie odnosi się do większego obrazu.
Ogólnie rzecz biorąc, problemem jest to, że jądro jest obsługiwane w nietypowy sposób. Jest instalowany za pośrednictwem linux-generic, który jest niczym innym jak zależnością od linux-image-generic i linux-image-headers. Te z kolei są tylko zależnościami od pakietów linux-linux-image-VERSION-generic i headers-VERSION-generic, które są godne uwagi do wypalenia numeru wersji w nazwie pakietu (przypuszczalnie w celu ułatwienia instalacji wielu równolegle).
Konkretnie nie ujęte w tej odpowiedzi są:
- Nie dotyczy sposobu usuwania -89 i -91.
- Nie dotyczy tego, jak ustawić -57 jako domyślny dla Grub, nawet jeśli zainstaluję późniejsze aktualizacje.
- Nie dotyczy sposobu zapewnienia, że -57 pozostanie zainstalowany, nawet jeśli zainstaluję późniejsze aktualizacje. Nawet jeśli odpowiedzią jest posiadanie jednego lub więcej pakietów, biorąc pod uwagę kilka zaangażowanych pakietów, które z nich chciałbym zatrzymać? Jeśli chodzi o trzymanie linux-generic, jak mogę go najpierw obniżyć?
Odpowiedzi:
Usuń najnowsze jądro przez
Że będzie odinstalować meta pakiety
linux-generic
,linux-image-generic
ilinux-headers-generic
. Jądra nigdy nie będą aktualizowane.Aby to cofnąć, możesz uruchomić
To zainstaluje najnowsze jądro, a jądra otrzymają aktualizacje.
linux-generic
to pakiet meta. Jest pusty, ale zależy od dwóch innych meta pakietów:linux-image-generic
ilinux-headers-generic
.Dwa ostatnie wskazują na najnowszy obraz jądra i nagłówki.
Jeśli usuniesz pakiety meta, nic nie zostanie usunięte z Linuksa, ale obraz jądra i nagłówki nie otrzymają aktualizacji. Zawsze możesz je zainstalować później. Wyciągną najnowsze „prawdziwe” pakiety jądra.
Rozwiązaniem jest więc ręczne usunięcie niepotrzebnych pakietów jądra, a także pakietów meta.
źródło
Chociaż rozwiązanie Pilot6 może być najlepszym rozwiązaniem, możesz zrobić mniej drastyczne środki.
Osobiście usunęłbym jądra, których nie chcesz, z centrum oprogramowania, a następnie zawiesiłem te pakiety - zobacz Jak zapobiec aktualizacji konkretnego pakietu?
Jest to trywialna zmiana i dość łatwo możesz ją zmienić lub cofnąć.
źródło
sudo apt-mark hold linux-image-generic linux-headers-generic
zrobi