Linux – usuwanie starych wersji kernela z konsoli

Często użytkownicy otwartego systemu operacyjnego z jądrem Linux miewają momenty zastanowienia w kwestii wersji jądra Linux. W celu sprawdzenia obecnie załadowanego jądra wystarczy wykonanie komendy uname -a:

$ uname -a
Linux gm-laptop 5.11.0-37-generic #41~20.04.2-Ubuntu SMP Fri Sep 24 09:06:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Wszystko jest świetnie, jeśli nasz system operacyjny zawiera kilka ostatnich wersji jądra. W momencie, kiedy mamy za sobą wiele aktualizacji dystrybucji Linux, wówczas historyczne wersje jądra Linux gromadzą się, aby nie powiedzieć zalegają niepotrzebnie 😉 Warto wiedzieć jakie i ile jest starszych wersji jąder Linux.

Z pomocą przychodzi nam poniższa komenda, która listuje wszystkie dostępne w systemie jądra Linux:

$ sudo dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+’ | grep -Fv $(uname -r)
rc linux-image-5.11.0-25-generic 5.11.0-25.27~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.11.0-27-generic 5.11.0-27.29~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.11.0-34-generic 5.11.0-34.36~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.11.0-36-generic 5.11.0-36.40~20.04.1 amd64 Signed kernel image generic
ii linux-image-5.11.0-38-generic 5.11.0-38.42~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.4.0-42-generic 5.4.0-42.46 amd64 Signed kernel image generic
rc linux-image-5.4.0-48-generic 5.4.0-48.52 amd64 Signed kernel image generic
rc linux-image-5.4.0-51-generic 5.4.0-51.56 amd64 Signed kernel image generic
rc linux-image-5.4.0-52-generic 5.4.0-52.57 amd64 Signed kernel image generic
rc linux-image-5.4.0-53-generic 5.4.0-53.59 amd64 Signed kernel image generic
rc linux-image-5.4.0-54-generic 5.4.0-54.60 amd64 Signed kernel image generic
rc linux-image-5.4.0-56-generic 5.4.0-56.62 amd64 Signed kernel image generic
rc linux-image-5.4.0-58-generic 5.4.0-58.64 amd64 Signed kernel image generic
rc linux-image-5.8.0-34-generic 5.8.0-34.37~20.04.2 amd64 Signed kernel image generic
rc linux-image-5.8.0-36-generic 5.8.0-36.40~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-38-generic 5.8.0-38.43~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-40-generic 5.8.0-40.45~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-41-generic 5.8.0-41.46~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-43-generic 5.8.0-43.49~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-44-generic 5.8.0-44.50~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-48-generic 5.8.0-48.54~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-50-generic 5.8.0-50.56~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-53-generic 5.8.0-53.60~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-55-generic 5.8.0-55.62~20.04.1 amd64 Signed kernel image generic
rc linux-image-5.8.0-59-generic 5.8.0-59.66~20.04.1 amd64 Signed kernel image generic

Jak widać na podstawie przykładowych wyników powyżej sprawa jest dość konkretna – mamy lekki bałagan w naszym systemie operacyjnym. Ale bez paniki poniżej receptura, jak sobie z tym poradzić 😉 z pomocą gotowego rozwiązania byobu:

$ sudo apt-get install byobu

$ sudo purge-old-kernels

Czytanie list pakietów… Gotowe
Budowanie drzewa zależności
Odczyt informacji o stanie… Gotowe
Następujące pakiety zostaną USUNIĘTE:
linux-hwe-5.8-headers-5.8.0-59
0 aktualizowanych, 0 nowo instalowanych, 1 usuwanych i 25 nieaktualizowanych.
Po tej operacji zostanie zwolnione 73,6 MB miejsca na dysku.
Kontynuować? [T/n] T
(Odczytywanie bazy danych … 347812 plików i katalogów obecnie zainstalowanych.)
Usuwanie pakietu linux-hwe-5.8-headers-5.8.0-59 (5.8.0-59.66~20.04.1) …

Kiedy już jest po wszystkim i usunięte zostały historyczne wersje kerneli – możemy ponownie sprawdzić:

$ sudo dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+’ | grep -Fv $(uname -r)
ii linux-image-5.11.0-38-generic 5.11.0-38.42~20.04.1 amd64 Signed kernel image generic

W ramach podsumowania warto pamiętać, że czasami z powodów różnych błędów w kernelu Linux – tak tutaj też bywają błędy – warto zachować sobie 3 wersje poprzednie kernela Linux, gdyż po restarcie kiedy mamy poprzednie wersje możemy je wskazać i bez problemu uruchomimy system z poprzednim kernelem, zamiast widać Grub error i problem z bootowaniem naszego OSa.

About the author