Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#276 Le 02/04/2013, à 23:38

lepetit

Re : Nettoyage dans les noyaux (kernel)

je te fais ça, merci smile


-pc principal: amd ryzen 2600, 16 go de ram, ssd nvme samsung @ linux mint 19
-mini pc: amd 5350 mini itx fanless, 8go de ram, ssd
-mini pc 2: intel core 2 duo t7200, 1.5 go de ram, gforce 710 (pilote libre) @ linux mint xfce, kernel xanmod
-netbook samsung nc20, via nano 1.3ghz+, 2go de ram, via vx800 @ xubuntu 18.10

Hors ligne

#277 Le 03/04/2013, à 00:14

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Voila, archive envoyée ...

@+.    Babdu89   .


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#278 Le 09/04/2013, à 17:24

Hoper

Re : Nettoyage dans les noyaux (kernel)

J'ai oublié d'indiquer que le site est de nouveau up. Désolé pour le dérangement...


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#279 Le 19/04/2013, à 09:24

FrancisFDZ

Re : Nettoyage dans les noyaux (kernel)

Bonjour,
D'après Malbo, il semblerait qu'un simple "sudo apt-get autoremove" serait en mesure de faire un peu de ménage dans les noyaux. Serait la fin programmée de kclean ?


-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]

Hors ligne

#280 Le 19/04/2013, à 14:39

Hoper

Re : Nettoyage dans les noyaux (kernel)

Merci pour l'info smile Il semble effectivement que mon script vienne de prendre un coup de vieux.
(Ce qui n'est pas trop tot car, accessoirement, je ne pensai absolument pas qu'il resterai utile aussi longtemps quand j'ai commencé à l'écrire)

Il restera utile dans au moins deux cas de figure :

- Les versions inférieur à la 13.04 (et beaucoup de gens resteront un moment en 12.04 je pense)
- Si on veut vraiment supprimer tous les noyaux inutiles (et donc n'en garder qu'un seul).

Dernière modification par Hoper (Le 19/04/2013, à 14:40)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#281 Le 20/04/2013, à 20:38

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Bonsoir ...

Suite au post de FrancisFDZ ...
J'ai fais quelques manips et posté le résultat ici ...

http://forum.ubuntu-fr.org/viewtopic.ph … #p13274301

@ Hoper, je pense que l'on va encore utiliser ton script un bon bout de temps ... Même avec la 13.04 .... wink

@+.  Babdu89   .   smile


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#282 Le 21/04/2013, à 06:00

frenchy82

Re : Nettoyage dans les noyaux (kernel)

Bonjour,

Je confirme, chez moi aussi avec la 13.04, Kclean est indispensable !

En ligne

#283 Le 21/04/2013, à 23:00

Ayral

Re : Nettoyage dans les noyaux (kernel)

Sans vouloir te vexer, il m'a semblé voir dans le message final de Kclean "les messages sélectionés..." (avec 1 seul n) . Mais comme j'ai cliqué assez rapidement pour fermer la fenêtre, je n'en suis pas sûr. Si les 2 n y sont bien, désolé de cette remarque. De toute façon Kclean marche super bien, merci.


Pour mettre les retours de commande entre deux balises code, les explications sont là : https://forum.ubuntu-fr.org/viewtopic.php?id=1614731
Blog d'un retraité
Site de graphisme du fiston Loïc
Ubuntu 22.04 LTS sur un Thinkpad W540

Hors ligne

#284 Le 21/04/2013, à 23:37

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Bonsoir...

@Hoper ...

Ayral a vu juste ... Le message suivant est en cause ...

http://pix.toile-libre.org/?img=1355145563.png

Merci de l'avoir signalé ...

@+.   Babdu89   .


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#285 Le 22/04/2013, à 08:48

Ayral

Re : Nettoyage dans les noyaux (kernel)

Par la grâce de mon âge et donc de la rigueur dans l'enseignement du français à l'école primaire d'il y a 63 ans (j'en ai 67) me voici promu contributeur à un excellent programme que j'utilise régulièrement et dont j'enseigne l'utilité à mon club d'aînés sous Ubuntu...
Pour qu'une faute vous saute littéralement aux yeux en ayant seulement entraperçu une phrase, il faut avoir subi un véritable entraînement intense à l'orthographe. Cela faisait déjà 20 ans que la correction des copies (d'économie)  d'élèves était devenue un véritable calvaire à cause du français des élèves. Ce que je trouvais le plus atterrant: si un mot était présent trois fois dans une copie, ils étaient capables de l'écrire de trois façons différentes. Preuve de l'indifférence la plus totale, donc du manque de respect pour eux mêmes (même pas honte de la feignasserie qu'on affiche) et pour le professeur qui va les lire. "L'orthographe, j'm'en bats les c... et de toi aussi."
C'était la minute du vieux râleur.


Pour mettre les retours de commande entre deux balises code, les explications sont là : https://forum.ubuntu-fr.org/viewtopic.php?id=1614731
Blog d'un retraité
Site de graphisme du fiston Loïc
Ubuntu 22.04 LTS sur un Thinkpad W540

Hors ligne

#286 Le 22/04/2013, à 09:51

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Bonjour...
@ Ayral ...
Pour continuer sur le même sujet ...
Je pense que c'est plus grâve pour certaines générations ....
C'est de inculture pure et simple ... Ce n'est pas du "j'en foutisme" ,mais de l'ignorance... Et je pense que çà ne va pas aller en s'arrangeant, avec les moyens modernes mis à leur disposition...
Lorsque ma petite fille m'écrit des mail en langage SMS ... Je ne lui répond pas ....Sur les téléphones d'accord, c'est fait pour çà par manque de place ... Mais des mail,on peut en écrire des pages ...
Déjà , moi au même âge que toi (Janvier) ...J'ai bien du mal avec le français parfois aussi... Mais il existe des moyens d'aide, pour faire l'effort de s'exprimer le plus correctement possible envers les autres ...

Je suis sûr qu'il y a aussi des bourdes dans mon laïus ...

Et un râleur de plus !!! ...   

@+.  Babdu89   .

Ps; Je ne devrais pas oser le @+.    ... Mais çà fait moderne ...   wink smile


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#287 Le 22/04/2013, à 10:29

Hoper

Re : Nettoyage dans les noyaux (kernel)

Ce que je trouvais le plus atterrant: si un mot était présent trois fois dans une copie, ils étaient capables de l'écrire de trois façons différentes. Preuve de l'indifférence la plus totale, donc du manque de respect pour eux mêmes

Heu... Alors en fait, non, ce n'était pas tout à fait ça...
Fais moi confiance, je suis un véritable expert dans le domaine (Mon "record" personnel à été un joli "-42" dans cette matière).

Ce n'était pas du tout de l’indifférence, mais un calcul tout simple : Si je ne sais pas du tout comment un mot s'écrit, alors je l'écrit une fois d'une façon et une fois de l'autre. Ainsi, je ne perdrai qu'un point au lieu de 2 (alors qu'avec ma chance habituelle, si je choisi une orthographe totalement au hasard, je suis sur de choisir la mauvaise et donc de perdre deux points).

C'est le calcul qui doit être fait par beaucoup d'élèves (en tout cas c'est celui que je faisais à l'époque).

Merci en tout cas de m'avoir indiqué cette faute, elle sera corrigée dans la prochaine version (disons qu'elle est corrigée chez moi mais que j'ai la flemme, la tout de suite maintenant de re-créer un paquet, re-noter les md5 etc).

Pour effectuer la correction chez vous, taper la commande suivante :

sudo sed -i -e 's@selectionés@sélectionnés@g' /usr/bin/kclean ; sudo sed -i -e 's@séléctionés@sélectionnés@g' /usr/bin/kclean

J'en ai aussi profité pour harmoniser les accents... Si ce n'est pas comme ça qu'il fallait l'écrire, merci de me le dire smile

EDIT : commande corrigée

Dernière modification par Hoper (Le 24/04/2013, à 07:19)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#288 Le 22/04/2013, à 11:54

JLK

Re : Nettoyage dans les noyaux (kernel)

Je ne voudrais pas paraître râleur, mais vous devriez ouvrir un autre topic.
On parle du "naytoillage de noix-yo". wink tongue

Hors ligne

#289 Le 22/04/2013, à 15:58

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Deux post(e)s et  un demi en HS, c'est encore "tôle-érable " , non ??... lol lol wink

@ Hoper, voila ce que donne le retour de commande chez moi ... Je ne suis absolument pas fort en commandes, les "copier/coller" me vont très bien ...

bernard@bernard:~$ sudo sed -i -e 's@selectionés@sélectionnés@g' /usr/bin/kclean ;; sudo sed -i -e 's@séléctionés@sélectionnés@g' /usr/bin/kclean
bash: Erreur de syntaxe près du symbole inattendu « ;; »
bernard@bernard:~$ 

@+.   Babdu89  smile .

Dernière modification par Babdu89 (Le 22/04/2013, à 16:00)


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#290 Le 22/04/2013, à 17:54

Ayral

Re : Nettoyage dans les noyaux (kernel)

Babdu89 a écrit :

Deux post(e)s et  un demi en HS, c'est encore "tôle-érable " , non ??... lol lol wink

Non , un taule et râble.


Pour mettre les retours de commande entre deux balises code, les explications sont là : https://forum.ubuntu-fr.org/viewtopic.php?id=1614731
Blog d'un retraité
Site de graphisme du fiston Loïc
Ubuntu 22.04 LTS sur un Thinkpad W540

Hors ligne

#291 Le 22/04/2013, à 17:55

JLK

Re : Nettoyage dans les noyaux (kernel)

Ayral a écrit :
Babdu89 a écrit :

Deux post(e)s et  un demi en HS, c'est encore "tôle-érable " , non ??... lol lol wink

Non , un taule et râble.

Non, introllerable. wink

Hors ligne

#292 Le 22/04/2013, à 21:03

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Hoper, va nous prendre pour des oufs ...

lol lol lol   smile

Dernière modification par Babdu89 (Le 22/04/2013, à 21:05)


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#293 Le 23/04/2013, à 08:42

FrancisFDZ

Re : Nettoyage dans les noyaux (kernel)

Pour ce qui est de l'obsolescence probable de kclean, je rappelle quand même qu'il fonctionne aussi pour Debian, et c'est pas rien !
En ce qui concerne le troll orthographique, il est pourtant possible lors de l'envoi d'un post de corriger les mots soulignés en rouge !


-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]

Hors ligne

#294 Le 23/04/2013, à 09:50

Hoper

Re : Nettoyage dans les noyaux (kernel)

Désolé, soucis de copier/coller, Il faut enlever un ';' :

sudo sed -i -e 's@selectionés@sélectionnés@g' /usr/bin/kclean ; sudo sed -i -e 's@séléctionés@sélectionnés@g' /usr/bin/kclean

Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#295 Le 23/04/2013, à 21:10

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Bonsoir...
@ Hoper...
OK!!!... Merci, je teste çà dès-que possible ...

Édit ...OK!! c'est corrigé ...

@+.  Babdu89   .

Dernière modification par Babdu89 (Le 23/04/2013, à 22:38)


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#296 Le 11/05/2013, à 16:59

fnux

Re : Nettoyage dans les noyaux (kernel)

Salut tout le monde.

désolé mais je suis un peu comme Babdu89 et Ayral et découvrant ce script génial, je suis tombé sur le message de fin : "Les paquet sélectionés on étés supprimés." qui m'a sauté aux yeux (comme la vérole sur le bas clergé). lol

Mais qui sont ces serpents qui sifflent sur... ! hmm

Autant supprimer ce s, non ? roll

Sinon, merci pour ce soft super efficace. smile


N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.

Hors ligne

#297 Le 11/05/2013, à 20:58

Hoper

Re : Nettoyage dans les noyaux (kernel)

Heu... je suis vraiment pas bon mais ... Ce serait pas le contraire ? Ce serait pas à "on' qu'il faudrait ajouter un 't' ? et laisser le 's' à "étés" ? (Désolé si je m'enfonce)


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne

#298 Le 11/05/2013, à 21:40

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Bonsoir...

Pour le ( t ) de "on étés" , ne inquiète pas Hoper, il est bien à sa place dans le script, j'ai vérifié ...  wink

Comme j'ai fait une lecture complète du script , je signal ce que j'ai vu, et qui sera affiché dans les messages en terminal ou graphique . Corrigé chez moi ... Je n'ai peut-être pas tout vu .

    echo "Les paquets suivants vont etres supprimes :"    ==> etres sans ( s )  etre  (pas d'accent, puisque message écrit dans le terminal.) .

    zenity --question --text "Voulez vous conservez le noyau précédent ?"   ==> conservez ( z ) , conserver

    TEXT="Le noyau actuellement utilisé a pour verison : <b>$KERNEL</b>.\n"   ==> verison , version .

Si quelqu'un voit quelque chose d'autre ...

Bonne soirée ..

@+.  Babdu89   smile

Dernière modification par Babdu89 (Le 11/05/2013, à 21:42)


J'ai découvert Ubuntu avec la 07.10.... Et alors?!...  Depuis je regarde de temps en temps si Windows marche toujours....

Hors ligne

#299 Le 14/05/2013, à 08:35

fnux

Re : Nettoyage dans les noyaux (kernel)

Salut Hoper.

je trouve ton script vraiment super.

Merci pour ce super boulot (même s'il y a encore quelques fautes d'orthographe wink ).

De mon côté, je n'utilise Ubuntu (ou Debian ou Fedora ou n'importe quel autre distro que je découvre) qu'en anglais.

La raison est d'une part que toutes les commandes et la plupart des messages sont en anglais (dont les man) et d'autre part parce que je préfère un message en anglais qu'un message mal traduit en français.

Aussi, je me suis permis de traduire ton script en anglais car j'ai vu quelque part que tu envisageais de le faire à temps perdu.

Si cela peut t'avancer, voici une version en anglais (à vérifier bien sur) :

#!/bin/bash
#
# This script helps you to delete old kernel versions.
# It can be used both within a terminal and in graphical mode on your desktop.
#
# Created by: Hoper
# Mail:       hoper@free.fr
# WWW:        http://hoper.dnsalias.net/tdc/index.php?pages/kclean
# License:    CC-By-Sa
#
# Development history:
# 1.0 : Terminal mode only
# 2.0 : Add graphical mode
# 2.1 : Little cosmetic modifications
# 2.2 : Add the kernel versions 3.X support, add --keep-prev
# 3.0 : Use getopts, rewriting the terminal mode, add a starter
# 3.1 : Add new options in graphical mode, terminal mode is by default
# 3.2 : Add linux-image-extra* packets, add --version
# 3.3 : Stop the script if a kernel version is found to be posterior to the current, add 4.X

CURRENT_VER=3.3

## Known problemns
# Once the deletion(s) is (are) started in graphical mode,
# you can't stop the script. 
# The force-yes option works only in terminal mode

###################
# Functions
###################

function clean_exit
{
    rm -f /tmp/clean_kernel.tmp
    exit $1
}

function display_syntax 
{
echo ""
echo "Syntax : $0 [options]"
echo "Available options: "
echo " -t	--term		Start the script in terminal mode (default)"
echo " -g	--gui		Start the script in graphical mode"
echo " -k	--keep-prev	Automaticaly keep the previous kernel" 
echo " -s	--simulate	No deletion, only a simple simulation"
echo " -h	--help		Display the help for the syntax"
echo " -f	--force-yes	Deletions are done whithout any confirmation!"
echo " -v	--version	Version information"
echo ""
echo "Command line sample: sudo kclean -ks"
echo ""
}

function remove_kernel
{
echo ""
echo "Deletion in progress..."
echo ""
for i in `grep -v "$KERNEL" /tmp/clean_kernel.tmp`
do
    if [ "$SIMULATE" = "TRUE" ]
    then
        echo "Deletion of kernel $i (simple simulation...)"
    else
        apt-get remove --yes --purge $i
    fi
done
echo ""
echo "-------------- Deletion done ---------------"
echo ""
clean_exit 0
}

# interpretation of the parameters

TERMINAL="TRUE"
KEEP_PREV="FALSE"
SIMULATE="FALSE"
HELP="FALSE"
FORCE_YES="FALSE"
VERSION="FALSE"

while getopts ":tgksvf-:" OPT 
do
    # managing the long options with or without argument
    [ $OPT = "-" ] && case "${OPTARG%%=*}" in
        term) OPT="t" ;;
        gui) OPT="g" ;;
        keep-prev) OPT="k" ;;
        simulate) OPT="s" ;;
        help) OPT="h" ;;
        force-yes) OPT="f" ;;
        version) OPT="v" ;;
        *) display_syntax ; clean_exit 1 ;;
    esac
    # then, managing the short options
    case $OPT in
        t) ;;
        g) TERMINAL="FALSE"  ;;
        k) KEEP_PREV="TRUE" ;;
        s) SIMULATE="TRUE" ;;
        h) HELP="TRUE" ;;
        f) FORCE_YES="TRUE" ;;
        v) VERSION="TRUE" ;;
        *) display_syntax ; clean_exit 1 ;;
    esac
done 

## Help

if [ "$HELP" = "TRUE" ]
then
    display_syntax
    clean_exit 0
fi

## Version

if [ "$VERSION" = "TRUE" ]
then
    echo ""
    echo "kclean version $CURRENT_VER"
    head -20 $0 | grep -v bash
    echo ""
    clean_exit 0
fi


## Was the script started with the root privileges?

if [ "$USER" != "root" -a "$SIMULATE" = "FALSE" ]
then
    echo ""
    echo "Error : You must have root privileges to delete kernels!"
    echo "Did you forget tu use sudo before the script name?"
    echo ""
    clean_exit 2
fi

## Common processes

KERNEL=`uname -r | cut -d '-' -f 1,2`
dpkg -l | grep linux | grep ubuntu | grep ii | awk '{print $2}' | grep -E '2\.6|3\.|4\.' >/tmp/clean_kernel.tmp
dpkg -l | grep linux | grep restricted | grep ii | awk '{print $2}' | grep -E '2\.6|3\.|4\.' >>/tmp/clean_kernel.tmp
dpkg -l | grep linux | grep image| grep ii | awk '{print $2}' | grep -E '2\.6|3\.|4\.' >>/tmp/clean_kernel.tmp
dpkg -l | grep linux | grep headers | grep ii | awk '{print $2}' | grep -E '2\.6|3\.|4\.' >>/tmp/clean_kernel.tmp

#We delete immediately the current kernel from the list:
sed -i -e /$KERNEL/D /tmp/clean_kernel.tmp

#We look for the previous kernel
NB_KERNEL=`dpkg -l | grep linux | grep image| grep ii | awk '{print $2}' | grep -E '2\.6|3\.|4\.' | wc -l`
if [ $NB_KERNEL -eq 1 ]
then
    PREVIOUS_V=""
else
    PREVIOUS_V=`dpkg -l | grep linux | grep image| grep ii | grep -v extra | awk '{print $2}' | grep -E '2\.6|3\.|4\.' | sort -V | tail -2 | head -1 | cut -d '-' -f3,4`
fi

#We look for the most recent kernel to compare with the current kernel in use
LAST_KERNEL=`dpkg -l | grep linux | grep image| grep ii | grep -v extra | awk '{print $2}' | grep -E '2\.6|3\.|4\.' | sort -V | tail -1 | cut -d '-' -f 3,4`

if [ "$TERMINAL" = "TRUE" ]
then
    ### Terminal mode
    
    echo ""
    echo "The current kernel version in use is: $KERNEL"
    echo "By default, only this kernel is kept."
    echo ""

    if [ "$LAST_KERNEL" != "$KERNEL" ]
    then
        if [ "$FORCE_YES" = "TRUE" ]
        then 
        echo "WARNING: There is (are) more recent kernel(s) on your system!"
        echo "However, the script will continue (you're using the option -f)"
        else
            echo "WARNING: At least, one more recent kernel ( $LAST_KERNEL ) was detected!"
            echo "This may be for multiple causes but for security, the script will end."
            echo ""
            echo "If you know excatly what you're doing and if you really want to delete"
            echo "all the kernels including the most recent, please use the -f option alone."
            echo ""
            clean_exit 4
        fi
    fi

    if [ "$KEEP_PREV" = "TRUE" ]
    then
        echo "The script will try to find the previous kernel version to keep it."
        if [ "FORCE_YES" = "FALSE" ]
        then
            echo "Please verify the given information prior to validate the deletion."
        fi
        echo ""
        if [ -z "$PREVIOUS_V" ]
        then
            echo "No previous kernel version found. So there is nothing to delete."
            echo "Good bye."
            echo ""
            clean_exit 0
        fi
        echo "The previous installed kernel to keep is the version : $PREVIOUS_V"
        sed -i -e /$PREVIOUS_V/D /tmp/clean_kernel.tmp
    fi
 
    if [ `cat /tmp/clean_kernel.tmp |wc -l` -eq 0 ]
    then
        echo "No kernel to delete."
        echo "Good bye."
        echo ""
        clean_exit 0
    fi

    echo "The following kernel(s) will be deleted:"
    echo ""
    cat /tmp/clean_kernel.tmp | sed -e "s@^@    @g"
    echo ""
    
    ## non interactive mode

    if [ "$FORCE_YES" = "TRUE" ]
    then 
        remove_kernel
    fi

    ## interactive mode

    echo -n "Do you wish to manualy select the kernel(s) to keep? [Y/N] :"
    read REP
    if [ "$REP" = "y" -o "$REP" = "Y" ]
    then
        echo "Please enter the list of kernel(s) to keep separated by a space: "
        read REP
        for i in `echo "$REP"`
        do
            sed -i -e /$i/D /tmp/clean_kernel.tmp
        done
        echo ""
        echo "So, this is the list of the kernel(s) to delete:"
        echo ""
        grep -v "$KERNEL" /tmp/clean_kernel.tmp | sed -e "s@^@    @g"
        echo ""
    fi
    echo -n "Do you wish to delete the selected kernel(s) above? [Y/N] :"
    read REP
    if [ "$REP" = "y" -o "$REP" = "Y" ]
    then
        remove_kernel
    else
        echo ""
        echo "Abort the deletion..."
        echo "Good bye."
        echo ""
        clean_exit 0
    fi
else
    ### graphical mode

    ## We verify that zenity is installed
    which zenity > /dev/null
    if [ $? -ne 0 ]
    then
        echo ""
        echo "The graphical mode needs zenity to work."
        echo "Please install zenity or use a terminal console."
        echo ""
        clean_exit 3
    fi

    ## We verify that a graphical display is available
    if [ -z "$DISPLAY" ]
    then
        echo ""
        echo "No graphical server available (variable DISPLAY empty)"
        echo "If you're using a text mode server, you can use the script in a"
        echo "terminal console by entering:"
        echo ""
        echo "$0 --term"
        echo ""
        clean_exit 3
    fi

    ## We check for the root provileges?
    if [ $USER != "root" ]
    then
        zenity --error --text="This script needs the root provileges to run.\nPlease restart the script with: sudo $0"
        clean_exit 2
    fi

    if [ "$LAST_KERNEL" != "$KERNEL" ]
    then
        zenity --error --text="You currently use the kernel version $KERNEL\nbut at least one more recent kernel ( $LAST_KERNEL ) was detected.\nThis may be for multiple causes, but for security\nthe script will end.\n\nIf you really wish to deleted any more recent kernel,\nplease use kclean in a terminal console."
        clean_exit 4
    fi
    
    ## Should we keep the previous kernel?
    if [ "$KEEP_PREV" = "FALSE" ]
    then
        zenity --question --text "Do you wish to keep the previous kernel version?"
        if [ $? -eq 0 ]
        then
            KEEP_PREV="TRUE"
        fi
    fi
    
    ## Do we have kernel(s) to delete?
    ## If we must keep the previous kernel, we delete it from the list

    if [ "$KEEP_PREV" = "TRUE" -a ! -z "$PREVIOUS_V" ]
    then
        sed -i -e /$PREVIOUS_V/D /tmp/clean_kernel.tmp
    fi

    TEXT="  The current kernel version is: <b>$KERNEL</b>.\n"
    if [ "$KEEP_PREV" = "TRUE" -a ! -z "$PREVIOUS_V" ]
    then
        TEXT="$TEXT  The previous kernel version is: $PREVIOUS_V.\n"
    fi
    TEXT="$TEXT  No older kernel was found on your system!\n\n Please press OK to quit the script."

    if [ -z "`grep -v "$KERNEL" /tmp/clean_kernel.tmp`" ]
    then
        zenity --info --title "Cleaning the kernel(s)..." \
        --text="$TEXT"
        clean_exit 0
    fi

    ## Yes, there is (are) packet(s) to delete...

    if [ "$FORCE_YES" = "TRUE" ]
    then
        TEXT="WARNNG: The -f (force-yes) option isn't available in graphical mode."
        zenity --warning --width=500 --height=200 --title "Cleaning the kernel(s)..." --text="$TEXT"
    fi

    LISTE_PAQUET=""
    ## Build the kernel list to delete for zenity
    for i in `grep -v "$KERNEL" /tmp/clean_kernel.tmp` 
    do
        LISTE_PAQUET="$LISTE_PAQUET TRUE $i"
    done
    TEXT="You currently use the kernel version <b>$KERNEL</b> of Linux.\n"
    if [ "$KEEP_PREV" = "TRUE" ]
    then
        TEXT="$TEXT The previous kernel is the version: $PREVIOUS_V and will be kept.\n"
    fi
    TEXT="$TEXT Click <b>Ok</b> to delete the following kernel(s):"

    CHOICE=$(zenity \
    --title "Cleaning the kernel" \
    --text="$TEXT" \
    --width=420 --height=400 \
    --list --print-column="2" --checklist --separator=' ' \
    --column="Delete" \
    --column="Kernel names" \
    $LISTE_PAQUET )

    ## if select Anuler...
    if [ $? -ne 0 ]
    then
        clean_exit 2
    fi
    ## else
    
    NBSUP=`echo $CHOICE | wc -w`
    PROGRES=0
    INCREMENT=`expr 100 / $NBSUP`
    (
    for i in `echo $CHOICE`
    do
        if [ "$SIMULATE" = "FALSE" ]
        then
            apt-get remove --purge --yes "$i" >/dev/null 2>&1
        fi
        PROGRES=$(($PROGRES+$INCREMENT))
        echo "$PROGRES"
        echo "# Deleting $i"
    done
    ) | 
    zenity --progress --width=420 --auto-close --percentage=0 \
    --text="Deleting the selected kernel(s)..."

    if [ "$SIMULATE" = "FALSE" ]
    then
        TEXTE_FINAL="The selected kernel(s) was (were) deleted."
    else
        TEXTE_FINAL="Simulation done, no kernel was deleted!"
    fi
    
    zenity --info --title "Cleaning the kernel(s)..." \
    --text="$TEXTE_FINAL"
    clean_exit 0
fi
# End of the script.

Bien entendu, ce n'est qu'une suggestion et tu es libre d'en faire ce que tu veux.

Cependant, cela peut peut-être participer à une bien plus large diffusion qui serait très largement méritée.

Si cela t'intéresse, je peux même essayer assez facilement de le rendre carrément bilingue ou même multi-lingues.

Merci de me dire ce que tu en penses et si ça t'intéresse.

PS: edit pour correction de head qui passe à l20 au lieu de l13.

Dernière modification par fnux (Le 18/05/2013, à 16:15)


N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.

Hors ligne

#300 Le 14/05/2013, à 08:49

Hoper

Re : Nettoyage dans les noyaux (kernel)

Merci pour le temps que tu y a passé smile

Une version bilingue (qui choisirai la langue en fonction des variables d’environnement) serait évidement le top du top. En attendant je récupérer cette version la et la proposer en parallèle de la vf. Il est bien possible que cette version devienne celle de référence, l'anglais est beaucoup moins prise de tête à maintenir que le français (accents, fautes etc)... big_smile


Mes tutos et coups de gueule :
http://hoper.dnsalias.net/atdc/
Mastodon: @hoper@framapiaf.org

Hors ligne