Wat is de kernel!

De kernel is het hart van je systeem, zonder kernel start het dus zelfs niet. Regelmatig krijgt men via de reguliere updates ook een nieuwe kernel-versie. Na het installeren hiervan moet men het GNU/Linux-systeem even terug opstarten om die nieuwe kernel te activeren, je krijgt daar trouwens een melding voor.

Om daarna te zien hoeveel kernels er op je systeem staan geef je het volgende commando:

grep menuentry /boot/grub/grub.cfg

Hiermee zie je alle geïnstalleerde kernels op je systeem. Het is aangeraden om de oudste ervan te verwijderen, welke dat zijn kan je zien aan de nummering. Laat voor het gemak wel de twee laatste kernels staan, zo kan je, (indien je systeem onverwacht een probleem zou hebben met de allernieuwste), dan nog altijd terug opstarten met de voorlaatste goed werkende kernel. Je kan die overbodige (oudste) kernels verwijderen op twee manieren, via Synaptic of via de commandoregel.

Bij mij ziet die lijst er zo uit:

djf@djf-laptop:~$ grep menuentry /boot/grub/grub.cfg
menuentry Ubuntu, met Linux 2.6.32-41-generic
--class ubuntu --class gnu-linux --class gnu --class os {
menuentry Ubuntu, met Linux 2.6.32-41-generic (herstelmodus)
--class ubuntu --class gnu-linux --class gnu --class os {
menuentry Ubuntu, met Linux 2.6.32-40-generic
--class ubuntu --class gnu-linux --class gnu --class os {
menuentry Ubuntu, met Linux 2.6.32-40-generic (herstelmodus)
--class ubuntu --class gnu-linux --class gnu --class os {
menuentry Memory test (memtest86+) {
menuentry Memory test (memtest86+, serial console 115200) {
djf@djf-laptop:~$ 

Zoals je hierboven ziet, staan er bij mij maar twee kernels in: (Linux 2.6.32-41-generic en Linux 2.6.32-40-generic). De bovenste (32-41 is de nieuwste die nu in gebruik is bij het opstarten, en de tweede (32-40 is de vorige die ik als reserve laat staan. Die herstelmodus hoort bij de desbetreffende kernelversie en dient enkel om eventueel op te starten in recovery-modus, daarmee kom je in een zogenaamde "rootshell" waar je eventueel reparaties aan je systeem kan uitvoeren. Normaal gezien heb je die nooit nodig.

Verwijderen via synaptic:

Zoek in Synaptic op: Linux-kernel en kies dan voor Volledig verwijderen van, zie de lijst hieronder (telkens drie per kernel-versie):

  1. Van elke kernelversie staan drie items in de lijst:
  2. linux-headers-versienummer,
  3. linux-headers-versienummer-generic
  4. linux-image-versienummer-generic

De drie hierboven getoonde bestanden vindt je dus in Synaptic, waar je ze door rechtsklikken kan markeren voor Volledig verwijderen.

Onderstaande tweede methode is meer iets voor gevorderde gebruikers, ik raad dus de bovenstaande methode via Synaptic sterk aan.

Volautomatisch via de terminal in één regel:

dpkg -l linux-*|awk -F" |:" '/^ii/{print $3}'|grep -v -e $(uname -r|cut -f1,2 -d"-")|grep -e [0-9]|xargs sudo apt-get -y purge

Bovenstaand commando bestaat uit één regel, en kan je best copïeren en plakken om typ fouten te voorkomen.

Onderstaande is het hele stuk code voordat het naar apt-get gaat. Helemaal veilig dus, er wordt nog niets verwijdert, je krijgt enkel de lijst met wàt er daadwerkelijk zal verwijdert worden door het volledige commando. Hiermee is het meteen duidelijk welke pakketten er letterlijk in de opdracht voor apt-get staan en wat apt-get er eventueel zelf bij verzint om één of andere reden.)

dpkg -l linux-*|awk '/^ii/{print $2}'|grep -e [0-9]

Bovenstaande zal alle geïnstalleerde kernelpakketten weergeven.

Dit is mijn resultaat van bovenstaande commando:
djf@djf-laptop:~$ dpkg -l linux-*|awk '/^ii/{print $2}'|grep -e [0-9]
linux-headers-2.6.32-40
linux-headers-2.6.32-40-generic
linux-headers-2.6.32-41
linux-headers-2.6.32-41-generic
linux-image-2.6.32-40-generic
linux-image-2.6.32-41-generic
djf@djf-laptop:~$ 

Dit kun je natuurlijk ook in een scriptje met de naam: wisoudekernels opnemen en dat dan uitvoerbaar maken via

chmod a+x wisoudekernels

Terug naar Home