Rimuovere i kernel superflui in Ubuntu
Scritto da Erriko in Linux il 13 novembre 2008
Spesso aggiornando la nostra distribuzione Ubuntu (ma vale per GNU/Linux in generale), al riavvio ci rendiamo conto che il menu di Grub ci mostra una nuova opzione di avvio (posta automaticamente come prima opzione) che corrisponde ad un nuovo kernel.
La scelta da parte del gestore di aggiornamenti di non rimuovere i vecchi kernel è più che sensata. Sostansialmente se avete un problema con il nuovo kernel, potete sempre utilizzare il vecchio.
Ma se il nuovo kernel non funziona (quindi ci è inutile) oppure funziona a meraviglia e non abbiamo più necessità di mantenere il vecchio cosa facciamo?
Sul momento NIENTE! Vi consiglio di controllare che il vostro sistema funzioni bene , testate il nuovo kernel per una settimana e vedete se tutto fila liscio come prima (se non funziona da subito il problema di aspettere non si pone
). Di solito non ci sono problemi , ma può sempre capitare.
Cosa fare per pulire il sistema dai kernel superflui:
Per verificare quale versione di kernel state usando , non fate ver , ma lanciate il comando uname -r da terminale in questo caso dovrebbe comparire :
2.6.20-16-generic
Per vedere il menu del boot iniziale da terminale: cat /boot/grub/menu.lst oppure per aprirlo nell’editor (in sola lettura) gedit /boot/grub/menu.lst
Ad un certo punto del file dovreste avere qualcosa come questo:
## ## End Default Options ##title Ubuntu 8.10, kernel 2.6.27-8-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=40f971d7-3a8c-410b-a00c-3c4dd0f40603 ro quiet splash
initrd /boot/initrd.img-2.6.27-8-generic
quiettitle Ubuntu 8.10, kernel 2.6.27-8-generic (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.27-8-generic root=UUID=40f971d7-3a8c-410b-a00c-3c4dd0f40603 ro single
initrd /boot/initrd.img-2.6.27-8-generic
title Ubuntu 8.10, kernel 2.6.27-7-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=40f971d7-3a8c-410b-a00c-3c4dd0f40603 ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiettitle Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
root (hd0,0)
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=40f971d7-3a8c-410b-a00c-3c4dd0f40603 ro single
initrd /boot/initrd.img-2.6.27-7-generic
title Ubuntu 8.10, memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
quiet### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda2
[qui ci sono eventuali altri sistemi operativi tipo windows, bsd...]
Qui si vedono due kernel, ma potrebbero essere anche di più. Vediamo qual’è la versione del kernel più vecchia (o comunque quella che vogliamo rimuovere), in questo caso la versione 2.6.27-7.
Per verificare quale versione di kernel state usando lanciate il comando
uname -r
da terminale in questo caso dovrebbe comparire :
2.6.27-8-generic
sudo apt-get -s remove linux-image-2.6.27-7-generic
l’output dovrebbe essere qualcosa del genere:
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell’albero delle dipendenze in corso
Lettura delle informazioni di stato in corso… Fatto
I seguenti pacchetti saranno RIMOSSI:
linux-image-2.6.27-7-generic linux-restricted-modules-2.6.27-7-generic
0 aggiornati, 0 installati, 2 da rimuovere e 0 non aggiornati.
Remv linux-restricted-modules-2.6.27-7-generic
Remv linux-image-2.6.27-7-generic
L’opzione “-s” dice al pc di simulare l’operazione di rimozione, quindi ancora non abbiamo fatto nulla, ma ci è servito per vedere che abbiamo scelto la versione corretta, e che non se ne andranno pezzi di sistema
Adesso che siamo sicuri che tutto andrà bene (almeno speriamo
) possiamo finalmente digitare:
sudo apt-get remove linux-image-2.6.27-7-generic
Quest’ultimo comando farà tutto lo sporco lavoro. Così avremo un’opzione in meno all’avvio (in realtà 2 visto che ogni kernel ha un’avvio normale ed una recovery mode), e libereremo oltre 100 megabytes di spazio sul disco.
Fate una preghierina e riavviate.




Come faccio a togliere il nuovo (l’ho compilato male e non lo voglio più)?
Al boot ho scelto il penultimo e quando scrivo:
sudo apt-get remove linux-image-2.6.28
E: Impossibile trovare linux-image-2.6.28
Forse per eliminarlo al boot devo scegliere il più nuovo se no i “vecchi” non lo vedono?
Nel menù di grub c’è comunque….
Grazie
Ciao
Ciao Fabio.
Davvero hai già installato il kernel 2.6.28?
Non credo sia stata un’ottima idea, dopotutto l’hanno rilasciato da 20 giorni…
Comunque se sei ad un livello tale da addentrarti nella compilazione di un kernel, di certo saprai che i kernel sono indipendenti, e quindi non importa da quale accedi (è una delle meraviglie di Linux).
Il discorso più che altro a mio avviso dipende dal fatto che il tuo è un kernel “fatto in casa” che non è stato installato con l’update o con apt. Per cui non puoi utilizzare il comando apt-get remove, perchè chiaramente quest’ultimo non lo riconosce.
Dovrai rimuoverlo manualmente. Se hai creato i vari pacchetti deb mentre compilavi il kernel, lo disinstalli come un normale deb devi dare il comando sudo dpkg -r nomepacchetto.
In ogni caso puoi aprire il gestore pacchetti (synaptic) e se trovi il kernel elencato lì o rimuovi tramite synaptic.
Ti segnalo comunque questo post, e quest’altro che potrebbero “ispirarti” eventualmente le procedure che ti ho indicato non funzionassero correttamente.
Per quanto riguarda il menu di grub, per rimuovere una voce basta che digiti sul terminale sudo nano /boot/grub/menu.lst e rimuovi le righe relative al kernel che non vuoi più vedere all’avvio.
Look, you need to speak clear English, I had such a difficult time reading this blog; mainly because of your poor grammar. I expect you to change this, and or I will report this Blog to the main site. Do I make myself clear? Nobody should have to read such poo. Either get rid of your poor grammar or get rid of your site jerk.
First of all: all the translations are automated man! Wake up!
I find that tutorials are understandable enough, and this is the reasono I add this feature on my blog.
Then: NO YOU ARE NOT CLEAR. You report what? Main site? Is it the God’s personal blog?? Or what?
I thik YOU are the jerk. Next time instead of be so asshole go to jerk yourself off!