In dat geval is er iets anders geks aan de hand. Wat precies zou ik niet weten, want ik kan niet in jouw systeem kijken
Maar als je het commando uit elkaar trekt en verklaart, dan is het heel gek dat dit gebeurt.
Het volledige commando:
dpkg -l linux-*|awk '/^ii/{print $2}'|grep -v -e $(uname -r|cut -f1,2 -d"-")|grep -e [0-9]|xargs sudo apt-get -y purge
Dit kan je opknippen in verschillende delen, gescheiden door de |
De uitvoer van het ene commando wordt gebruikt als invoer voor het volgende.
dpkg -l linux-*
Dit geeft een lijst van alle pakketten waarvan de naam begint met "linux-"
awk '/^ii/{print $2}'
Dit commando filtert alle pakketten die
niet geïnstalleerd zijn uit de lijst, en haalt de aanduiding die je in het overzicht ziet of een pakket geïnstalleerd is of niet weg. Je houdt dus alleen de pakketnamen over van de pakketten die geïnstalleerd zijn en waarvan de naam begint met "linux-".
grep -v -e $(uname -r|cut -f1,2 -d"-")
Dit stuk zorgt ervoor dat het pakket van de huidige kernel die nu draait uit de lijst verwijderd wordt.
Je houdt nu alle geïnstalleerde kernels behalve de huidige over, en enkele andere pakketten die beginnen met "linux-"
grep -e [0-9]
Dit haalt alle regels waar geen getal in voorkomt weg. Dit is om de overige pakketten die geen kernel zijn maar wel beginnen met linux- weg. Denk aan linux-firmware of linux-generic.
Het uiteindelijke resultaat: alle geïnstalleerde pakketten van kernels, behalve het pakket van de huidige kernel.
xargs sudo apt-get -y purge
Dit voert het uiteindelijke resultaat als argumenten aan apt-get zodat die pakketten verwijderd worden.
Ik kan dus werkelijk waar niet begrijpen hoe het kan dat pakketten die niet beginnen met de naam linux- toch verwijderd worden, want die komen bij het eerste commando al niet eens voor in de lijst...