Quest’articolo vuole essere un Post Scriptum del precedente articolo in cui ho descritto come eliminare i vecchi kernel nella vostra siduxbox in modo manuale.

Questo non è necessario. Sidux offre un tool per queste cose. Il suo nome è Kernel Remover.

Per avere a disposizione questo strumento ci basta installare il pacchetto:

# apt-get install sidux-kernelhacking

Dopo di che è sufficente dare il comando

# kernel-remover

Per lanciare l’applicazione. Questo strumento ci indicherà i kernel superflui lasciandoci scegliere quali eliminare (è sempre preferibile lasciare almeno un kernel di riserva). Una volta dato l’ok i kernel verranno rimossi. Tutto in automatico.

 

Ho letto quasi una settimana fa la notizia che nella release 2.6.32 del kernel linux udev verrà inesorabilmente spazzato via per far spazio a devtmpfs. Ammetto con onestà che la mia conoscenza di linux in modo più dettagliato è cominciata con il rilascio della serie 2.6. Proprio la serie che ha inserito udev all’interno del kernel al posto di devfs. Quindi ho cercato di informarmi al riguardo delle poco lusinghiere valutazioni di devfs.

Per chi non lo sapesse udev è il sistema grazie al quale viene gestita la creazione dinamica delle periferiche in /dev. Infatti, diversamente dai sistemi Unix tradizionali, Linux mantiene dinamicamente il contenuto di /dev visualizzando solo i nodi associati a periferiche attualmente collegate al pc.

Udev soppiantò devfs per due ragioni fondamentali:

  • Udev supporta un naming persistente dei device. Ovvero le periferiche vengono associati a file il cui nome non dipende dall’ordine in cui le periferiche vengono collegate al pc. Il nome è legato a come sono connessi a livello hardware i vari device.
  • Udev lavora in user space mentre devfs lavora in kernel space.

Nonostante ciò devfs è utilizzato da ogni altro sistema Unix: Solaris, Mac OS X, FreeBSD, DragonFly BSD. Questo rende Linux sicuramente un po più avanzato rispetto ai concorrenti. Infatti i due punti sopracitati oltre a complicare e a rendere meno pratico il popolamento e la gestione di /dev offrono il fianco ad alcuni attacchi di privilege escalation.

Linux però non si accontenta. Scarta anche udev per devtmpfs. Questa nuova implementazione offre un approccio ibrido kernel-user e il conseguente popolamento di /dev fin dalle primissime fasi di boot.

Questa scelta ha però suscitato violente reazioni dagli osteggiatori di devfs che hanno rinominato in modo dispreggiativo il nuovo device file system con il nome di devfs2.

Onestamente ho letto le motivazioni ed alcuni commenti al riguardo qui e qui e le trovo sensate. Stando a quello che ho letto penso che devtmpfs possa essere un buon passo in avanti anche se non so quanto significativo.

Altra questione che mi preoccupava era il passaggio di versione. Come si comporta la distribuzione nel passaggio da udev a devtmpfs? La questione è spinosa e importante per molti motivi. Io utilizzo una rolling distro e passaggi molto pesanti sono sempre un piccolo rischio. Ma non solo. La versione 2.6.32 del kernel sarà anche quella della nuova probabile LTS di Ubuntu, 10.4 Lucid Lynx.

Il passaggio sembra però essere del tutto indolore. Comunque è ancora troppo presto per poter dare giudizi. La questione è accesa.

 

Chi utilizza Sidux sa bene che i kernel vengono aggiornati con ritmi che sfiorano il giornaliero. Inoltre, i kernel vecchi, per ragioni di stabilità e sicurezza, non vengono eliminati automaticamente. Questo comporta che nel giro di qualche settimana il tipico utente Sidux si ritrova con almeno 5-6 versioni del kernel installate e 300Mb di spazio utilizzato da cose che, con ogni probabilità, non utilizzeremo mai.

Dobbiamo quindi eliminare i Kernel in eccesso. Innanzitutto identifichiamo tutti i kernel che abbiamo installato con:

# dpkg -l | grep linux-image*

Così abbiamo la lista di tutti i kernel. A questo punto non ci resta che eliminarli con

# apt-get purge linux-image-versione_del_kernel

Vi consiglio di cancellarli tutti ad esclusione di quello attuale (per ovvi motivi) e quello subito precedente (per sicurezza). Per sapere la versione del kernel in uso basta dare:

$ uname -r

A questo punto possiamo eliminare anche gli header associati ai kernel che abbiamo eliminato. Possiamo trovare la lista con

# dpkg -l | grep linux-header*

E possiamo cancellarli in modo analogo.

PS EDIT:

Ho spiegato anche un metodo più automatizzato e più sicuro in QUESTO POST!

 

Per chi utilizza sidux sa che gli aggiornamenti del kernel sono praticamente a cadenza settimanale. Ma questa volta Sidux è passato dal kernel 2.6.30 al kernel 2.6.31. Come sempre in questi casi, gli utenti Sidux se la rischiano (Sidux infondo è sempre Sid). Questa volta me la sono rischiata io per voi e posso annunciarvi che potete fare il vostro dist-upgrade senza paura. L’aggiornamento è andato liscio come l’olio.

Segnalo però che potrebbero esserci pacchetti che conviene non aggiornare: come è stato annunciato nella mailing-list degli sviluppatori Debian è consigliato non aggiornare i pacchetti mysql-transition, octave-transition hdf*-transition e nattle-transition.

Se avete alcuni di questi pacchetti vi conviene aspettare qualche giorno.

La nuova versione del kernel aumenta considerevolmente il supporto alla tecnologia FireWire, molto usata per interfacciare videocamere digitali e pc.

Oltre a questo, nell’aggiornamento odierno segnalo un massiccio aggiornamento di kde e la versione 0.9 di Arora.

© 2008-2012 SlashCode Suffusion theme by Sayontan Sinha