Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#1 Le 06/08/2008, à 14:44

Hoper

Nettoyage dans les noyaux (kernel)

Bonjour,

Comme pas mal de gens ici je commençai a en avoir marre de voir ma liste de kernel grossir au fur et à mesure des mises à jour. A peine on fait le ménage que deux nouvelles mises à jour se pointe. Et pour ceux qui comme moi avait passé pas mal de temps sans rien faire, on se retrouve avec une liste vraiment longue et pénible à traiter.

Bref, j'ai fait un petit script pour résoudre le problème. Ce script supprime tout simplement toutes les versions de noyau obsolètes, et ne conserve que la dernière version (paramétrable).

EDIT : Passage à la version 3.6
Mise à jour impérative pour ceux qui auraient téléchargés la 3.5.
Pour connaître la version du script installé : kclean -v

Téléchargement :

Le paquet .deb (qui installera le script dans /usr/bin) est ici :
http://hoper.dnsalias.net/tdc/public/kclean.deb

Pour ceux qui préfère vérifier le script eux même avant de lancer
une installation avec les droits root, vous pouvez récupérer le script ici :
http://hoper.dnsalias.net/tdc/public/kclean
(Mais vous n'aurez alors pas le lanceur dans les menus de gnome)

Une fois le script installé via le .deb, son icone de lancement se trouve normalement dans Système/Administration, ou avec unity, recherchez kclean. Pour ceux qui n'ont pas de mode graphique ou qui préférent la ligne de commande, c'est possible aussi (kclean --help).

NOTE :

Nesthib propose ici pas mal d'améliorations "techniques" à ce script. Ces propositions ne sont pas la pour ajouter des fonctionnalités à kclean mais pour rendre le code plus lisible et plus facilement maintenable. Pour ceux qui s'intéresse à la programmation, je vous conseil vivement de lire son post. Il termine par un exemple, en proposant un mini script de 3 lignes qui fait, en résumé, ce que le miens fait en 400 smile (sans mode graphique, vérifications ou interactions).

Dernière modification par Hoper (Le 18/05/2014, à 12:13)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#2 Le 06/08/2008, à 17:00

Hoper

Re : Nettoyage dans les noyaux (kernel)

Et bein ? 25 personnes qui lisent et pas une seule qui test ? je vous ai fait peur donc smile


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#3 Le 07/08/2008, à 17:44

ArthurC

Re : Nettoyage dans les noyaux (kernel)

J'ai ressayé sur un autre pc - j'ai triché j'ai remplacé apt par aptitude - et c'est toujours reproductible.

je crois que apt-get autoremove fait le même boulot en laissant uniquement les 2 derniers kernels (après un peu de googlage).

Hors ligne

#4 Le 07/08/2008, à 18:12

Naruto62

Re : Nettoyage dans les noyaux (kernel)

voilà voilà !!

J'ai testé ton script Hoper et rien n'a planté enfin ... pour l'instant wink

J'ai essayé de voir le résultat et j'ai lancé cette commande pour vérifier:

   

sudo update-grub

et les noyaux ont bien été supprimés!

Donc merci pour ton script car ca fait du bien de faire le ménage de temps en temps!

Dernière modification par Naruto62 (Le 07/08/2008, à 18:27)


Schedio: Logiciel de gestion modulable de scripts (dont Gestion/Lancement/Restriction planifiée de logiciels).
http://forum.ubuntu-fr.org/viewtopic.php?id=383356
Besoin de testeurs pour la version 2 !

Hors ligne

#5 Le 07/08/2008, à 18:15

Hoper

Re : Nettoyage dans les noyaux (kernel)

Un grand merci aux testeurs !!

je crois que apt-get autoremove fait le même boulot en laissant uniquement les 2 derniers kernels

l'option autoremove permet de supprimer les paquets qui ont étés installés en tant que dépendance, mais dont le paquet "pere" à été supprimé. Donc a priori, rien à voir avec les noyaux.


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#6 Le 07/08/2008, à 19:45

clahor

Re : Nettoyage dans les noyaux (kernel)

bjr en general on ne conseille pas de garder les 2 noyaux les + recents (?) ton script peut peut etre etre adapté en consequence.....

Hors ligne

#7 Le 08/08/2008, à 00:07

Hoper

Re : Nettoyage dans les noyaux (kernel)

clahor : J'y ai pensé... mais la ca va vraiment demander du boulot... parce que si trouver le noyau actuellement utilisé est tres facile, trouver les deux "plus recents" est beaucoup plus compliqué hmm
Cela dit... comme il affiche les noyaux qu'il va supprimer, rajouter une option pour indiquer des paquets qu'il ne faut pas supprimer doit etre dans le domaine du possible.... Mais ce sera à l'utilisateur de lui indiquer les kernel a conserver en plus de l'actuel.


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#8 Le 12/08/2008, à 17:50

clahor

Re : Nettoyage dans les noyaux (kernel)

merci de repondre & d'y avoir pensé en tout cas smile))

Hors ligne

#9 Le 30/08/2008, à 01:16

edrost

Re : Nettoyage dans les noyaux (kernel)

Je confirme, ça marche!:)

Bien vu Hoper!

Hors ligne

#10 Le 30/08/2008, à 09:24

dynamos

Re : Nettoyage dans les noyaux (kernel)

300 mo de gagné pour moi. sur un ibook qui a un DD de 6 go, c'est pas rien.
Je croise quand même les doigts pour le prochain redémarrage.


Ne vous demandez pas seulement ce que Gnu/linux peut faire pour vous, demandez-vous ce que vous pouvez faire pour lui.

Hors ligne

#11 Le 30/08/2008, à 09:31

Hoper

Re : Nettoyage dans les noyaux (kernel)

Si le noyau qui a été conservé (celui sur lequel tu avais booté) ne posait pas de problèmes, il n'y a pas de raisons que ca se passe mal smile
Le vrai souci de script dans son état actuel, c'est effectivement qu'il ne laisse qu'un seul noyau.
Donc il faut le lancer quand on utiliser le noyau en question depuis suffisamment longtemps pour etre sur que tout marche pas avec, et qu'on peut vraiment supprimer tous les autres...


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#12 Le 30/08/2008, à 22:41

Guizmo.7

Re : Nettoyage dans les noyaux (kernel)

Sympa ce script, je m'en vais le tester !


Un pas après l'autre, la petite créature verte avance !

Hors ligne

#13 Le 15/09/2008, à 12:51

dynamos

Re : Nettoyage dans les noyaux (kernel)

Au fait je n'ai pas eu de soucis au redémarrage.
Merci pour le script


Ne vous demandez pas seulement ce que Gnu/linux peut faire pour vous, demandez-vous ce que vous pouvez faire pour lui.

Hors ligne

#14 Le 19/09/2008, à 11:46

yamo

Re : Nettoyage dans les noyaux (kernel)

Salut,
J'ai essayé avec succès ce script (j'avais 100% d'occupation sur / ... sur un serveur sans interface graphique) et je me suis permet de donner le lien vers ce topic là : http://forum.ubuntu-fr.org/viewtopic.php?pid=2075006#p2075006


Stéphane
--
Debian 7.0 XFCE 4.8   - #ubuntu sur freenode

sudo / matrix

Hors ligne

#15 Le 19/09/2008, à 13:21

n3o51

Re : Nettoyage dans les noyaux (kernel)

Super ce script je viens de le voir justement grace au lien de Yamo.
Par contre pourquoi ne pas demander a ce qu'il soit intégré au script maintenance système de jean-lux and co big_smile
Aussi pourquoi ne pas integré aussi un mode graphique mais aussi un sudo update-grub necessaire a la fin tongue

Dernière modification par n3o51 (Le 19/09/2008, à 13:23)


Welcome to the real world
________________________________

Hors ligne

#16 Le 19/09/2008, à 13:25

pipou24

Re : Nettoyage dans les noyaux (kernel)

clahor a écrit :

bjr en general on ne conseille pas de garder les 2 noyaux les + recents (?) ton script peut peut etre etre adapté en consequence.....

Salut.
Je pense avoir une idée pour faire ca, mais pas les compétences pour le coder hmm
en fait, on obtiens facilement la liste des noyaux installés avec :
cat /etc/boot/grub/menu.lst | grep title
(ou bien cat /etc/boot/grub/menu.lst | grep vmlinuz est-il plus fiable ?)

de là, on ne conserve que la première et 3ème ligne a grand coup de cut sed et de \(\w\+\)\.\(\w\+\) et le tour est joué. (enfin, moi, je ne m'en sens pas capable, mais ....)


Non geek et fier de l'être. ㋡

Hors ligne

#17 Le 19/09/2008, à 13:38

pipou24

Re : Nettoyage dans les noyaux (kernel)

Nota : Je pense que le sudo update-grub est inutile, car il est normalement lancé par apt/aptitude grace au .postrm du paquet du noyau correspondant


Non geek et fier de l'être. ㋡

Hors ligne

#18 Le 19/09/2008, à 14:08

pmd

Re : Nettoyage dans les noyaux (kernel)

J'ai testé le script sur ma Debian Testing, et j'aime !
Ç a marche nikel, merci beaucoup pour cette contribution wink

cool

Hors ligne

#19 Le 19/09/2008, à 14:11

Hoper

Re : Nettoyage dans les noyaux (kernel)

En effet le update-grub est inutile... car il est fait a chaque suppression de paquet, donc il est déja fais autant de fois qu'il y a de noyau a supprimer. (ce qui ralenti la procédure d'ailleurs mais bon...)

pipou : je suis évidement preneur de toute idée de ce genre ! Sauf que pour le coup celle la ne me semble pas exempte de défaut... ce fichier (menu.lst) est souvant bricolé par pas mal de gens (par exemple pour supprimer des lignes qu'on ne veut plus voir etc). Bref, le contenu de ce fichier est très variable d'un pc à l'autre, et il ne reflète pas forcement ce qui est réellement installé en matierre de noyaux. C'est pour ca que je préfère n'utiliser que des commandes renvoyant ce qui est réelement installé (dpkg).

Le souci c'est comment, en ayant la liste des noyaux installés, détérminer quels sont les deuc plus récents. Il faudrait que je vois ce que la commande sort est capable de faire exactement... a part ca (et le mode purement manuel de selection des noyaux qu'on veut garder donc..) je n'ai pas vraiment d'autres idée pour le moment.

Pour le fait de faire une interface graphique, je n'y avait pas vraiment pensé vu qu'il n'y a pour le moment aucun choix possible... l'interface graphique se limiterai à une boite de dialogue "voulez vous lancer le programme et supprimer tous les notayx non utilisés OUI/NON ?" donc bon... ca pourrait etre rigolo à faire comme simple exerice mais sinon... Enfin je garde l'idée sous le coude smile


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#20 Le 19/09/2008, à 14:29

n3o51

Re : Nettoyage dans les noyaux (kernel)

Le fait de creer une interface graphique permettrai de renvoyer la liste des noyau installes dans un tableau qui peut facilement etre fait avec zenity et permettrai a l'utilisateur de simplement coches les noyaux qui souhaite gardé .Donc la questions de garder deux noyaux ne serait plus a faire ...


Welcome to the real world
________________________________

Hors ligne

#21 Le 19/09/2008, à 15:11

Hoper

Re : Nettoyage dans les noyaux (kernel)

je croyais que zenity ne savait faire que des choses plus basique que ca... Mais si je peut l'utiliser pour faire une liste de choix alors en effet ce serait le plus judicieu... Je fais me renseigner de ce coté la...

EDIT : j'a regardé un peu la doc... ouai.. ca va me plaire de jouer avec le mode graphique smile

Dernière modification par Hoper (Le 19/09/2008, à 15:22)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/tdc/

Hors ligne

#22 Le 19/09/2008, à 16:47

soupaloignon

Re : Nettoyage dans les noyaux (kernel)

Sympa ce script. Pas testé encore, mais au vu des retours...
Dès qu'il y a une fonction permettant de garder les 2 derniers noyaux... je prends wink


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#23 Le 20/09/2008, à 10:04

n3o51

Re : Nettoyage dans les noyaux (kernel)

J'ai deja le debut avec la liste de choix mais je ne sais pas comment faire pour dire a chaque case coches de supprimes le kernel correspondant .


Welcome to the real world
________________________________

Hors ligne

#24 Le 20/09/2008, à 10:24

pipou24

Re : Nettoyage dans les noyaux (kernel)

j'ai cet exemple pour un script de redimensionnement des images :

title="Choisissez la taille finale"
imgsize=`zenity --title "$title"  --list --separator=" " --column="size" "220x176" "640x480" "1280x960" "1600x1200"  | sed 's/ max//g' `

#if $? != 0, user click on cancel button, so exit
if [ "$?" != 0 ] ; then
    exit
fi

if [ ! "$imgsize" ]; then
    zenity --error --title="error" --text="select a target size"
    exit
fi

par analogie, je pense que :

kernel=`zenity --title "$title"  --list --separator=" " --column="size" "$kern1" "$kern2" "$kern3" "$kern4"`

devrait fonctionner


Non geek et fier de l'être. ㋡

Hors ligne

#25 Le 20/09/2008, à 10:24

rahancrao

Re : Nettoyage dans les noyaux (kernel)

Punaise, je viens de lancer ce script et il m'a libéré 1,5 Go sous /
J'avais tous les noyaux depuis l'alpha 2 ou 3 de Hardy

J'ai un peu peur du prochain reboot  ... lol


Ingé en préprod Unix : forcément sous GNU/Linux à la maison (Ubuntu 10.10 + ArchLinux tout neuf)

Hors ligne

Haut de page ↑