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.

TUX - maskotka systemu Linux

About the author

Autor "BIELI" to zapalony entuzjasta otwartego oprogramowania, który dzieli się swoją pasją na blogu poznajlinuxa.pl. Jego wpisy są skarbnicą wiedzy na temat Linuxa, programowania oraz najnowszych trendów w świecie technologii. Autor "BIELI" wierzy w siłę społeczności Open Source i zawsze stara się inspirować swoich czytelników do eksplorowania i eksperymentowania z kodem.