[Linux-bruxelles] autoremove et kernel

Aldo info at brlspeak.net
Jeu 19 Aou 11:37:34 CEST 2010


Hoyeh Gildas:

On Wed, Aug 18, 2010 at 10:01:26PM +0200, Gildas Cotomale wrote:
> > Et ta commande qui pour moi à dès la 1re lecture ressemble à du Mandarin ou
> > Cyrillic pure, on peut la mettre dans un script ?
> 
> Oui...

Je le supposais mais me mêle parfois les pinces avec les $( et autres
encapsulages que j'oublies de faire quand on met une commande dans un script
bash.
 
> > et si oui que fait-elle au fait ?
> 
> D'où l'invitation à la décortiquer :-)
> 
> dpkg-query -W -f='${Package}\n' "*2.6.32*"
> = recherche tous le paquetages recensés et qui contiennent 2.6.32 dans leur nom
> = on s'assure qu'il n'y a que le nom du paquetage qui est affiché (il
> y en a un par ligne)
> grep -v "$(uname -r|sed 's/-generic//g')"
> = on ne retient de la liste précédente que les lignes qui ne
> correspondent pas au kernel installé

GRANDIOSE / rassurant!

> = le sed permet de ne s'intéresser qu'aux noyaux
> (linux-image-*-generic pour ubuntu) et non le reste (linux-doc-*,
> linux-headers-*, linux-source-*, etc.)

Pourtant, sorry mais le but est de nettoyer, donc y compris les
/lib/modules/*2.6.* ad hoc, 
+ les headers etc car un broken pack (à moitié désinstallé) est très embêtant
/(cf. cas d'une Hardy migrée en Lucid).

> grep 2.6.32-
> xargs aptitude remove
> = on passe la liste ainsi construite à aptitue en demandant de retirer
> les paquets nommés
> 
> > et si tu sais dire ce qu'elle fais, pourquoi y placer 2.6.32 si on a par ex.
> > aussi des kernels 2.6.31.* ?
> 
> en fait tu mets la branche du kernel que tu utilises (2.6.31-* c'est Karmic...)

Sur cet ordi de qq'un (novice) y a un peu de tout, mais le blème vient du
revendeur qui a créé une partoche /boot de à peine 100 MB.

> > Enfin, es-ce dangereux de mettre la ligne de code ci-dessus dans un script
> > et l'exécuter sans comprendre que dalle de ce qu'elel fais ?
> 
> il n'est jamais conseiller d'exécuter une ligne de code sans la
> comprendre un minimum (ne serait-ce pour pouvoir l'adapter à ton cas
> --ici ton kernel-- et surtout ne pas faire bêtement n'importe quoi

Je sais, tu as 100% raison; c bien parce que j'y piges que dalle que
j'essaye *<un tout petit peu>* de comprendre avant de faire des âneries :-)

> --comme un sudo rn -rf /--)
rm je suppose?

> si en plus tu veux le mettre dans un script, il faut essayer de
> beaucoup la comprendre pour déboguer (ou améliorer par rapport à tes
> besoins) le script et savoir les impacts avec les autres scripts qu'on
> lance :)

Moi je voudrais plutôt faire un truc genre: 
cleankern $1  ou cleankern où à la ligne read -p " " il demande d'entgrer
juste la portion de chiffres relevants, genre : 2.6.24
si on veut supprimer l'ensemble des sous-kern -24-*
ou 2.6.32-21  si on veut être plus précis et ne supprimer que ...

Mais j'aime aussi parfois essayer à la main avant de mettre ça dans un
script:
à la main c plus prudent, et au cas où on ne détruit que ce pour quoi on a
entré une commande donnée; avec un script qu'on ne comprend pas le risque
est décuplé ... enfin dans mon cas :-) LOL!

Aldo. 





Plus d'informations sur la liste de diffusion Linux-bruxelles