Aceasta e o versiune anterioară a paginii.
Ștergerea kernel-urilor vechi pe Linux
Pe măsură ce actualizezi sistemul, distribuțiile Linux păstrează automat versiunile anterioare ale kernel-ului ca măsură de siguranță: dacă o versiune nouă cauzează probleme, poți reveni la una mai veche din meniul GRUB. Dezavantajul este că, în timp, partiția /boot se poate umple, iar lista din bootloader devine lungă și greu de navigat. Tutorialul de față acoperă distribuțiile de bază - cele pe care sunt construite majoritatea celorlalte: Debian, Ubuntu, Arch, Fedora, openSUSE, Gentoo, Alpine și NixOS.
Înainte de a șterge orice kernel, asigură-te că ai pornit sistemul cu kernel-ul pe care vrei să-l păstrezi. Nu șterge niciodată kernel-ul activ. Verifică versiunea curentă cu:
uname -r
Debian
Debian folosește apt ca manager de pachete. Kernel-urile sunt livrate ca pachete cu numele linux-image-X.Y.Z-amd64 (sau arhitectura corespunzătoare).
Verificare kernel activ și versiuni instalate
uname -r
dpkg --list | grep linux-image
Pachetele cu starea ii sunt instalate. Versiunea afișată de uname -r este cea activă - pe aceasta nu o șterge.
Ștergere manuală
Înlocuiește X.Y.Z-amd64 cu versiunea exactă pe care vrei să o elimini:
sudo apt remove linux-image-X.Y.Z-amd64 linux-headers-X.Y.Z-amd64 sudo apt autoremove --purge sudo update-grub
Ștergere automată cu ''autoremove''
apt poate curăța singur versiunile vechi, păstrând kernel-ul activ și penultima versiune ca fallback:
sudo apt autoremove --purge
Pe Debian Stable, kernel-urile noi apar rar (o dată la câțiva ani, odată cu o versiune majoră). Pe Testing și Unstable (Sid), actualizările sunt mai frecvente și autoremove devine mai util.
Ubuntu
Ubuntu folosește apt ca manager de pachete, iar kernel-urile sunt livrate ca pachete cu nume de forma linux-image-X.Y.Z-generic.
Verificare kernel activ și versiuni instalate
uname -r
dpkg --list | grep linux-image
Caută pachetele cu starea ii (instalat). Versiunea afișată de uname -r este cea activă - pe aceasta nu o șterge.
Ștergere manuală
Înlocuiește X.Y.Z-generic cu versiunea exactă pe care vrei să o elimini:
sudo apt remove linux-image-X.Y.Z-generic linux-headers-X.Y.Z-generic linux-modules-X.Y.Z-generic sudo apt autoremove --purge sudo update-grub
Ștergere automată cu ''autoremove''
Comanda următoare șterge toate kernel-urile vechi, păstrând versiunea activă și penultima ca fallback:
sudo apt autoremove --purge
Pachetul linux-generic asigură că sistemul instalează automat cele mai recente kernel-uri din seria curentă. Dacă îl ai instalat, autoremove este suficient pentru întreținere curentă. Distribuțiile derivate din Ubuntu (Linux Mint, Zorin OS, Pop!_OS, elementaryOS etc.) urmează același procedeu.
Arch Linux
Pe Arch Linux, kernel-urile sunt pachete obișnuite pacman. Spre deosebire de alte distribuții, Arch nu acumulează automat versiuni vechi - la fiecare pacman -Syu, kernel-ul este înlocuit, nu adăugat. Versiunile vechi apar doar dacă ai instalat explicit mai multe variante de kernel simultan.
Kernel-uri disponibile
Arch oferă mai multe variante oficiale, instalabile simultan:
| Pachet | Descriere |
|---|---|
linux | Kernel stabil, actualizat frecvent |
linux-lts | Kernel LTS, mai conservator |
linux-zen | Optimizat pentru desktop și gaming |
linux-hardened | Cu patch-uri de securitate suplimentare |
Verificare versiuni instalate
uname -r
pacman -Q | grep linux
Ștergerea unui kernel secundar
Dacă ai instalat mai multe variante și vrei să elimini una:
sudo pacman -Rs linux-lts linux-lts-headers
Flag-ul -Rs șterge pachetul și dependențele orfane. Nu uita să incluzi și pachetul headers asociat, dacă l-ai instalat.
Actualizare GRUB
sudo grub-mkconfig -o /boot/grub/grub.cfg
Dacă folosești systemd-boot:
sudo bootctl update
Curățarea cache-ului pacman
pacman stochează versiunile vechi ale pachetelor în /var/cache/pacman/pkg/. Le poți curăța cu paccache din pachetul pacman-contrib:
sudo pacman -S pacman-contrib sudo paccache -rk2
Comanda păstrează ultimele 2 versiuni din cache pentru fiecare pachet și le șterge pe restul.
Dacă folosești un singur kernel (linux), nu ai nimic de șters - există o singură versiune activă în orice moment. Distribuțiile derivate din Arch (Manjaro, EndeavourOS, Garuda etc.) urmează același procedeu, cu mici diferențe de bootloader.
Fedora
Fedora folosește dnf ca manager de pachete. Kernel-urile sunt pachete cu numele kernel, kernel-core și kernel-modules. Distribuțiile derivate (RHEL, AlmaLinux, Rocky Linux, CentOS Stream) urmează același procedeu.
Verificare kernel activ și versiuni instalate
uname -r
dnf list installed kernel
Configurarea numărului de kernel-uri păstrate
dnf are o opțiune nativă în /etc/dnf/dnf.conf care controlează câte versiuni sunt reținute. Valoarea implicită este 3:
installonly_limit=2
Cu valoarea 2, la fiecare actualizare dnf va păstra automat doar kernel-ul curent și unul de fallback. Valoarea minimă recomandată este 2.
Ștergere manuală
sudo dnf remove kernel-X.Y.Z kernel-core-X.Y.Z kernel-modules-X.Y.Z
Înlocuiește X.Y.Z cu versiunea exactă afișată de dnf list installed kernel.
Ștergere automată a versiunilor în surplus
Listează kernel-urile care depășesc limita setată:
sudo dnf repoquery --installonly --latest-limit=-1 -q
Pentru a le șterge efectiv:
sudo dnf remove $(sudo dnf repoquery --installonly --latest-limit=-1 -q)
Actualizare GRUB
Pe sisteme cu BIOS:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Pe sisteme UEFI:
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Pe Fedora, kernel-ul nou este marcat automat ca implicit după instalare. Pe RHEL/AlmaLinux/Rocky Linux, înlocuiește calea UEFI cu /boot/efi/EFI/redhat/grub.cfg sau /boot/efi/EFI/rocky/grub.cfg, după caz.
openSUSE
openSUSE (Leap și Tumbleweed) folosește zypper și rpm. Spre deosebire de alte distribuții, openSUSE are un mecanism dedicat de gestionare a versiunilor multiple de kernel, configurat direct în /etc/zypp/zypp.conf.
Verificare kernel activ și versiuni instalate
uname -r
rpm -q kernel-default
Configurarea politicii de retenție
În /etc/zypp/zypp.conf, variabila multiversion.kernels controlează ce versiuni sunt păstrate:
multiversion.kernels = latest,running,latest-1
| Valoare | Semnificație |
|---|---|
latest | Cea mai recentă versiune instalată |
running | Versiunea activă curentă |
latest-1 | Penultima versiune (fallback) |
latest-2 | Antepenultima versiune |
Configurația de mai sus păstrează 3 versiuni. Pentru a păstra doar 2:
multiversion.kernels = latest,running
Ștergere automată cu ''purge-kernels''
openSUSE include un instrument dedicat care aplică politica din zypp.conf și șterge versiunile în surplus:
sudo zypper purge-kernels
Ștergere manuală
sudo zypper remove kernel-default-X.Y.Z
Versiunea exactă o obții din output-ul comenzii rpm -q kernel-default.
Actualizare GRUB
Pe openSUSE, bootloader-ul este actualizat automat la ștergerea unui kernel prin purge-kernels. Dacă vrei să forțezi regenerarea:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Pe openSUSE Tumbleweed (rolling release), kernel-urile se actualizează frecvent. Configurarea multiversion.kernels este esențială pentru a preveni acumularea versiunilor. Pe Leap actualizările sunt mai rare, dar mecanismul este același.
Gentoo
Pe Gentoo, kernel-ul este compilat local din surse. Nu există un mecanism automat de ștergere - kernel-urile vechi rămân pe disc până când le elimini manual. Sursa kernel-ului se află în /usr/src/, iar imaginile compilate în /boot/.
Verificare kernel activ și versiuni instalate
uname -r
Listează sursele de kernel instalate:
ls /usr/src/
Listează imaginile din /boot:
ls /boot/vmlinuz-* /boot/initramfs-*
Verifică ce versiuni sunt instalate ca pachete:
emerge --list-sets | grep kernel equery list 'sys-kernel/*'
Ștergerea surselor vechi cu ''emerge''
Dezinstalează sursele kernel-ului vechi (înlocuiește cu versiunea exactă):
sudo emerge --unmerge sys-kernel/gentoo-sources:X.Y.Z
sau, pentru varianta vanilla-sources:
sudo emerge --unmerge sys-kernel/vanilla-sources:X.Y.Z
Curățarea fișierelor din ''/boot''
Ștergerea pachetului nu elimină automat imaginile din /boot. Șterge-le manual:
sudo rm /boot/vmlinuz-X.Y.Z-gentoo sudo rm /boot/initramfs-X.Y.Z-gentoo.img sudo rm /boot/System.map-X.Y.Z-gentoo sudo rm /boot/config-X.Y.Z-gentoo
Curățarea surselor din ''/usr/src''
sudo rm -rf /usr/src/linux-X.Y.Z-gentoo
Curățarea modulelor
sudo rm -rf /lib/modules/X.Y.Z-gentoo
Actualizare GRUB
sudo grub-mkconfig -o /boot/grub/grub.cfg
Dacă folosești grub2:
sudo grub2-mkconfig -o /boot/grub/grub.cfg
Pe Gentoo, symlink-ul /usr/src/linux trebuie să pointeze întotdeauna către sursele kernel-ului activ. Verifică înainte de ștergere:
ls -la /usr/src/linux
Dacă pointează către versiunea pe care vrei să o ștergi, actualizează symlink-ul mai întâi:
sudo eselect kernel list sudo eselect kernel set <numărul versiunii active>
Alpine Linux
Alpine Linux folosește apk ca manager de pachete și mkinitfs pentru generarea initramfs. Kernel-urile sunt livrate ca pachete linux-lts, linux-virt (pentru mașini virtuale) sau linux-edge. Alpine este folosit frecvent în containere Docker și pe sisteme embedded.
Verificare kernel activ și versiuni instalate
uname -r
apk info | grep linux
Gestionarea versiunilor
Pe Alpine, în mod normal rulezi o singură variantă de kernel. Versiunile vechi nu se acumulează automat - la apk upgrade, kernel-ul este înlocuit în loc să fie adăugat. Imaginile vechi din /boot pot rămâne însă pe disc după un upgrade.
Curățarea imaginilor vechi din ''/boot''
ls /boot/vmlinuz-* /boot/initramfs-*
Compară cu versiunea activă și șterge ce nu mai corespunde:
sudo rm /boot/vmlinuz-X.Y.Z-alpine sudo rm /boot/initramfs-X.Y.Z-alpine sudo rm /boot/System.map-X.Y.Z-alpine
Ștergerea unui kernel secundar
Dacă ai instalat mai multe variante (ex. linux-lts și linux-edge):
sudo apk del linux-edge
Actualizare bootloader
Alpine folosește de obicei extlinux (syslinux) sau GRUB. Pentru extlinux:
sudo update-extlinux
Pentru GRUB:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Pe Alpine rulat în containere (Docker, LXC), nu există bootloader și nu există kernel propriu - containerul folosește kernel-ul gazdei. Gestionarea kernel-ului se aplică doar instalărilor bare-metal sau VM-urilor cu Alpine ca sistem de operare complet.
NixOS
NixOS are o abordare fundamental diferită față de toate celelalte distribuții. Kernel-ul face parte din configurația declarativă a sistemului, definită în /etc/nixos/configuration.nix. Fiecare actualizare creează o nouă generație - un snapshot complet al sistemului - iar generațiile vechi, inclusiv kernel-urile lor, sunt păstrate automat până la o colectare de gunoi (garbage collection).
Verificare kernel activ și generații instalate
uname -r
Listează toate generațiile disponibile:
sudo nix-env --list-generations --profile /nix/var/nix/profiles/system
Configurarea kernel-ului în ''configuration.nix''
Kernel-ul se specifică în /etc/nixos/configuration.nix. Implicit este folosit linuxPackages, dar poți alege explicit:
boot.kernelPackages = pkgs.linuxPackages_latest; # cel mai recent kernel # sau boot.kernelPackages = pkgs.linuxPackages_lts; # kernel LTS
Aplică modificarea cu:
sudo nixos-rebuild switch
Ștergerea generațiilor vechi
Șterge toate generațiile mai vechi de 30 de zile:
sudo nix-collect-garbage --delete-older-than 30d
Șterge toate generațiile vechi (păstrează doar cea curentă):
sudo nix-collect-garbage -d
nix-collect-garbage -d șterge toate generațiile vechi fără posibilitate de recuperare. Dacă ai o actualizare recentă care nu funcționează corect, nu rula această comandă - mai întâi revino la o generație stabilă din meniul GRUB, apoi rulează garbage collection.
Ștergerea generațiilor specifice
sudo nix-env --delete-generations 5 6 7 --profile /nix/var/nix/profiles/system sudo nix-collect-garbage
Actualizare GRUB
Pe NixOS, GRUB este regenerat automat la nixos-rebuild switch. Dacă vrei să forțezi:
sudo nixos-rebuild boot
Verificarea spațiului în ''/nix/store''
sudo nix store gc df -h /nix
Pe NixOS, menținerea mai multor generații este o funcție de siguranță, nu o problemă. Spre deosebire de alte distribuții, rollback-ul la o versiune anterioară a întregului sistem (inclusiv kernel) se face dintr-o singură comandă sau direct din GRUB. Colectează gunoiul periodic, nu înainte de fiecare update.
Verificarea spațiului recuperat
După ștergere, verifică spațiul liber pe partiția /boot (și pe /nix în cazul NixOS):
df -h /boot