🢂Usuwania starych, nieużywanych jąder
Kod ten usuwa starsze wersje jądra Linuxa i ich nagłówki, ale sposób, w jaki to robi, prowadzi do pozostawienia więcej niż jednej wersji.
Jednowierszowe polecenia do usuwania starych, nieużywanych jąder w systemach opartych na Debianie
Kod ten usuwa starsze wersje jądra Linuxa i ich nagłówki, ale sposób, w jaki to robi, prowadzi do pozostawienia więcej niż jednej wersji.
sudo apt-get purge $(for tag in "linux-image" "linux-headers"; do dpkg-query -W -f'${Package}\n' "$tag-[0-9]*.[0-9]*.[0-9]*" | sort -V | awk 'index($0,c){exit} //' c=$(uname -r | cut -d- -f1,2); done)
dokładne wyjaśnienie krok po kroku:
for tag in "linux-image" "linux-headers"; do ... done: Pętla wykonuje operacje dla pakietówlinux-image(obrazy jądra) ilinux-headers(nagłówki jądra).dpkg-query -W -f'${Package}\n' "$tag-[0-9]*.[0-9]*.[0-9]*": Wyszukuje zainstalowane pakiety pasujące do wzorca, co oznacza wszystkie wersje jądra i ich nagłówki.sort -V: Sortuje te pakiety według wersji, od najstarszych do najnowszych.awk 'index($0,c){exit} //' c=$(uname -r | cut -d- -f1,2): Zatrzymuje listę na wersji jądra, która jest częściowo zgodna z obecnie używaną wersją.uname -r | cut -d- -f1,2daje główną część numeru wersji bieżącego jądra, na przykład dla4.15.0-96-genericbędzie to4.15.
Teraz kluczowe jest zrozumienie, co robi awk. Jeśli bieżąca wersja jądra to 4.15.0-96, awk zatrzyma listowanie na pierwszym pakiecie, który zaczyna się od 4.15, bez względu na to, czy jest to 4.15.0-96, 4.15.1-100 czy jakakolwiek inna wersja zaczynająca się od 4.15.
W rezultacie, kod ten zostawi:
- Wszystkie wersje jądra i ich nagłówki, które są nowsze lub częściowo zgodne z obecnie używanym jądrem. Na przykład, jeśli używasz
4.15.0-96, zostaną wszystkie wersje4.15.x-y. - Usunięte zostaną wszystkie starsze wersje, na przykład
4.14.x,4.13.xitd.
Ilość pozostawionych wersji zależy więc od tego, jak wiele różnych wydań jądra jest zainstalowanych w tej samej głównej gałęzi (tutaj 4.15.x).
Na koniec
Po usunięciu starych jąder należy zaktualizować konfigurację programu ładującego GRUB, aby odzwierciedlić zmiany. Uruchom następujące polecenie, aby zaktualizować program ładujący.
sudo update-grub