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.

#701 Le 06/06/2016, à 15:49

Babdu89

Re : Nettoyage dans les noyaux (kernel)

moko138 a écrit;
Alors il semble qu'avec 16.04 *buntu soit revenu à "autoremove garde les 2 derniers noyaux".
(Ou alors c'est ma xub 14.04 32b qui est spéciale... smile )

Tiens, je vais voir comment réagit la mienne.
@suivre...

@+.  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

#702 Le 06/06/2016, à 15:55

PPdM

Re : Nettoyage dans les noyaux (kernel)

Je plussoie,

pierre @ pierre-Aspire  ~
└─ $ ▶ sudo apt-get autoremove -y
[sudo] password for pierre: 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
pierre @ pierre-Aspire  ~
└─ $ ▶ ls /boot
abi-3.16.0-31-generic  config-3.16.0-31-generic  grub                          initrd.img-3.16.0-71-generic  memtest86+.elf            System.map-3.16.0-31-generic  vmlinuz-3.16.0-31-generic
abi-3.16.0-71-generic  config-3.16.0-71-generic  initrd.img-3.16.0-31-generic  memtest86+.bin                memtest86+_multiboot.bin  System.map-3.16.0-71-generic  vmlinuz-3.16.0-71-generic
pierre @ pierre-Aspire  ~

Dernière modification par PPdM (Le 06/06/2016, à 16:07)


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#703 Le 06/06/2016, à 16:14

Babdu89

Re : Nettoyage dans les noyaux (kernel)

@moko138

Babdu89 a écrit;
Tiens, je vais voir comment réagit la mienne.
@suivre...

testé depuis ma Xubuntu 14.04 32 bits.

bernard@bernard-System-Product-Name:~$ [[ $(apt-mark showmanual | egrep 'linux-.*[0-9]') ]] && sudo apt-mark auto $(apt-mark showmanual | egrep linux-.*[0-9])
[sudo] password for bernard: 
linux-headers-3.13.0-86 passé en « installé automatiquement ».
linux-headers-3.13.0-86-generic passé en « installé automatiquement ».
linux-headers-3.13.0-87 passé en « installé automatiquement ».
linux-headers-3.13.0-87-generic passé en « installé automatiquement ».
linux-image-3.13.0-86-generic passé en « installé automatiquement ».
linux-image-3.13.0-87-generic passé en « installé automatiquement ».
linux-image-extra-3.13.0-86-generic passé en « installé automatiquement ».
linux-image-extra-3.13.0-87-generic passé en « installé automatiquement ».
bernard@bernard-System-Product-Name:~$ sudo apt-get -s autoremove
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
  libhdb9-heimdal libkdc2-heimdal libntdb1 linux-headers-3.13.0-86
  linux-headers-3.13.0-86-generic linux-image-3.13.0-86-generic
  linux-image-extra-3.13.0-86-generic python-ntdb
0 mis à jour, 0 nouvellement installés, 8 à enlever et 14 non mis à jour.
Remv libkdc2-heimdal [1.6~git20131207+dfsg-1ubuntu1.1]
Remv libhdb9-heimdal [1.6~git20131207+dfsg-1ubuntu1.1]
Remv python-ntdb [1.0-2ubuntu1]
Remv libntdb1 [1.0-2ubuntu1]
Remv linux-headers-3.13.0-86-generic [3.13.0-86.131]
Remv linux-headers-3.13.0-86 [3.13.0-86.131]
Remv linux-image-extra-3.13.0-86-generic [3.13.0-86.131]
Remv linux-image-3.13.0-86-generic [3.13.0-86.131]
bernard@bernard-System-Product-Name:~$ 

Soumise au même régime que toi!.

@+.   Babdu89  .

Dernière modification par Babdu89 (Le 06/06/2016, à 16:19)


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

Hors ligne

#704 Le 06/06/2016, à 16:16

PPdM

Re : Nettoyage dans les noyaux (kernel)

[[ $(apt-mark showmanual | egrep 'linux-.*[0-9]') ]] && sudo apt-mark auto $(apt-mark showmanual | egrep linux-.*[0-9])
[sudo] password for pierre: 
linux-headers-3.16.0-31 passé en « installé automatiquement ».
linux-headers-3.16.0-31-generic passé en « installé automatiquement ».
linux-image-3.16.0-31-generic passé en « installé automatiquement ».
linux-image-extra-3.16.0-31-generic passé en « installé automatiquement ».

Dernière modification par PPdM (Le 06/06/2016, à 16:17)


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#705 Le 06/06/2016, à 16:24

moko138

Re : Nettoyage dans les noyaux (kernel)

PPdM a écrit :
[[ $(apt-mark showmanual | egrep 'linux-.*[0-9]') ]] && sudo apt-mark auto $(apt-mark showmanual | egrep linux-.*[0-9])
[sudo] password for pierre: 
linux-headers-3.16.0-31 passé en « installé automatiquement ».
linux-headers-3.16.0-31-generic passé en « installé automatiquement ».
linux-image-3.16.0-31-generic passé en « installé automatiquement ».
linux-image-extra-3.16.0-31-generic passé en « installé automatiquement ».

PPdM, et après ce marquage, que donne la simulation

sudo apt-get -s autoremove

? Merci !


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#706 Le 06/06/2016, à 16:43

Bougron

Re : Nettoyage dans les noyaux (kernel)

Bonjour
Quelqu'un connaissant bien kclean peut-il  regarder cette exécution qui me semble anormale... https://forum.ubuntu-fr.org/viewtopic.p … #p21533233
Merci,               Il râle car il ne trouve plus le paquet qu'il vient de supprimer et n'a pas proposé la suppression des très vieux paquets...

Hors ligne

#707 Le 06/06/2016, à 19:56

PPdM

Re : Nettoyage dans les noyaux (kernel)

moko138 a écrit :
PPdM a écrit :
[[ $(apt-mark showmanual | egrep 'linux-.*[0-9]') ]] && sudo apt-mark auto $(apt-mark showmanual | egrep linux-.*[0-9])
[sudo] password for pierre: 
linux-headers-3.16.0-31 passé en « installé automatiquement ».
linux-headers-3.16.0-31-generic passé en « installé automatiquement ».
linux-image-3.16.0-31-generic passé en « installé automatiquement ».
linux-image-extra-3.16.0-31-generic passé en « installé automatiquement ».

PPdM, et après ce marquage, que donne la simulation

sudo apt-get -s autoremove

? Merci !

pierre @ pierre-Aspire  ~
└─ $ ▶ sudo apt-get -s autoremove
[sudo] password for pierre: 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
  linux-headers-3.16.0-31 linux-headers-3.16.0-31-generic
  linux-image-3.16.0-31-generic linux-image-extra-3.16.0-31-generic
0 mis à jour, 0 nouvellement installés, 4 à enlever et 0 non mis à jour.
Remv linux-headers-3.16.0-31-generic [3.16.0-31.43~14.04.1]
Remv linux-headers-3.16.0-31 [3.16.0-31.43~14.04.1]
Remv linux-image-extra-3.16.0-31-generic [3.16.0-31.43~14.04.1]
Remv linux-image-3.16.0-31-generic [3.16.0-31.43~14.04.1]

Dernière modification par PPdM (Le 06/06/2016, à 19:56)


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#708 Le 06/06/2016, à 20:43

moko138

Re : Nettoyage dans les noyaux (kernel)

Merci PPdM !
Donc ta Trusty réagit comme celle de Babdu89 et la mienne : autoremove vise à ne garder qu'un noyau.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#709 Le 06/06/2016, à 20:56

PPdM

Re : Nettoyage dans les noyaux (kernel)

Je te confirme au prochain reboot


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#710 Le 06/06/2016, à 21:19

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Moko138 a écrit;

Merci PPdM !
Donc ta Trusty réagit comme celle de Babdu89 et la mienne : autoremove vise à ne garder qu'un noyau.

PPdM a écrit;
Je te confirme au prochain reboot

Avec l'option -s dans la commande autoremove, la simulation ne va rien supprimer, non?.

@+.  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

#711 Le 06/06/2016, à 21:19

moko138

Re : Nettoyage dans les noyaux (kernel)

PPdM a écrit :

Je te confirme au prochain reboot

Qu'est-ce qu'un reboot changera à cette simulation ?


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#712 Le 06/06/2016, à 21:25

PPdM

Re : Nettoyage dans les noyaux (kernel)

Désolé, je n’étais pas concentré  !


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#713 Le 07/06/2016, à 18:34

Bougron

Re : Nettoyage dans les noyaux (kernel)

Bonjour
Pas de conclusion prématurée pour la commande autoremove!!!!!!!


u1604@u1604:~/Téléchargements$ sudo apt autoremove
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
u1604@u1604:~/Téléchargements$ sudo kclean
 
Noyau actuellement en cours d'utilisation : 4.4.0-22
Par defaut, seul ce noyau est conserve.
 
Les paquets suivants vont etre supprimes :
 
    linux-image-4.4.0-21-generic
    linux-image-extra-4.4.0-21-generic
    linux-headers-4.4.0-21
    linux-headers-4.4.0-21-generic
 
Cela devrait liberer environ 281 MiB d'espace disque
 
 Voulez vous indiquer manuellement des paquets à conserver ? [o/N] :
u1604@u1604:~$ pg /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

Modification du 14 juin 12016

Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  linux-headers-4.4.0-21 linux-headers-4.4.0-21-generic
  linux-image-4.4.0-21-generic linux-image-extra-4.4.0-21-generic
  linux-signed-image-4.4.0-21-generic
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
u604@u604:~$ sudo kclean -s
Noyau actuellement en cours d'utilisation : 4.4.0-24
Par defaut, seul ce noyau est conserve.
Les paquets suivants vont etre supprimes :
    linux-image-4.4.0-21-generic
    linux-image-4.4.0-22-generic
    linux-image-extra-4.4.0-21-generic
    linux-image-extra-4.4.0-22-generic
    linux-signed-image-4.4.0-21-generic
    linux-signed-image-4.4.0-22-generic
    linux-headers-4.4.0-21
    linux-headers-4.4.0-21-generic
    linux-headers-4.4.0-22
    linux-headers-4.4.0-22-generic
 


Et modification du 17 juillet 2016
 

u604@u604:~$ sudo apt autoremove
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Les paquets suivants seront ENLEVÉS :
  linux-headers-4.4.0-24 linux-headers-4.4.0-24-generic
  linux-image-4.4.0-24-generic linux-image-extra-4.4.0-24-generic
0 mis à jour, 0 nouvellement installés, 4 à enlever et 8 non mis à jour.
Après cette opération, 295 Mo d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n]n
 ............
u604@u604:~$ sudo kclean -k
 
Noyau actuellement en cours d'utilisation : 4.4.0-31
Par defaut, seul ce noyau est conserve.
 
Ce script va tenter de trouver la version precedente du noyau pour la conserver.
Verifiez les informations fournies avant de valider la suppression.
 
La version precedemment installee (a conserver) est la version : 4.4.0-28
Les paquets suivants vont etre supprimes :
 
    linux-image-4.4.0-24-generic
    linux-image-extra-4.4.0-24-generic
    linux-headers-4.4.0-24
    linux-headers-4.4.0-24-generic
 
Cela devrait liberer environ 281 MiB d'espace disque
 
 Voulez vous indiquer manuellement des paquets à conserver ? [o/N] :

Dernière modification par Bougron (Le 17/07/2016, à 14:15)

Hors ligne

#714 Le 07/06/2016, à 23:02

f.x0

Re : Nettoyage dans les noyaux (kernel)

[[ $(apt-mark showmanual | egrep 'linux-.*[0-9]') ]] && sudo apt-mark auto $(apt-mark showmanual | egrep linux-.*[0-9])

linux-headers-3.19.0-59 passé en « installé automatiquement ».
linux-headers-3.19.0-59-generic passé en « installé automatiquement ».
linux-headers-4.4.0-22 passé en « installé automatiquement ».
linux-headers-4.4.0-22-generic passé en « installé automatiquement ».
linux-image-3.19.0-59-generic passé en « installé automatiquement ».
linux-image-4.4.0-22-generic passé en « installé automatiquement ».
linux-image-extra-3.19.0-59-generic passé en « installé automatiquement ».
linux-image-extra-4.4.0-22-generic passé en « installé automatiquement ».


~ $ sudo apt-get -s autoremove

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

SOPI

Hors ligne

#715 Le 09/06/2016, à 10:35

Hoper

Re : Nettoyage dans les noyaux (kernel)

apt et apt-get sont deux commandes différentes...


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

Hors ligne

#716 Le 09/06/2016, à 10:45

Hoper

Re : Nettoyage dans les noyaux (kernel)

Pour les fautes je suis un peu ennuyé...

Beaucoup de corrections (pas toutes, mais beaucoup) concernent des accents.
Or, je les avait intentionnellement omis  en mode texte, pour éviter que cela soit illisible sur un terminal qui ne soit pas en UTF8.
Cela n'est peut être plus très courant, mais a mon avis on dois en trouver encore sur des vieux serveurs...

(Ces accents sont en revanche normalement présents sur les textes affichés en mode graphique).


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

Hors ligne

#717 Le 11/06/2016, à 07:24

malbo

Re : Nettoyage dans les noyaux (kernel)

Bonjour,
J'ai mis en évidence un bogue de kclean dans ce post : https://forum.ubuntu-fr.org/viewtopic.p … #p21535949
En résumé, si on fait un nettoyage par kclean et qu'on passe ensuite la commande "sudo apt-get autoremove", on se retrouve avec un seul noyau.
EDIT le 12 juin 2016 : en fait, kclean est innocent là-dedans : voir mon post #725 plus bas.

Dernière modification par malbo (Le 12/06/2016, à 07:40)

Hors ligne

#718 Le 11/06/2016, à 09:21

f.x0

Re : Nettoyage dans les noyaux (kernel)

Nouvelle version des corrections pour l'ortographe :

les é, è, à ont été remplacés par é, è, Ã
et les ê, ô ont été remplacés par e, o

à partir du script : http://hoper.dnsalias.net/tdc/public/kclean

#!/bin/bash

# Historique :
# 1.0 : mode texte uniquement
# 2.0 : Ajout du mode graphique
# 2.1 : légères modifications cosmétiques
# 2.2 : Support des kernel 3.X, ajout de --keep-prev
# 3.0 : Utilisation de getopts, refonte du mode terminal, ajout d'un lanceur
# 3.1 : Gestion des nouvelles options en mode graphique, mode term par défaut
# 3.2 : Prise en compte des paquets linux-image-extra* et ajout de --version
# 3.3 : Arret du script si un noyau > au courant est trouvé, ajout des 4.X
# 3.4 : Correction de : if [ "FORCE_YES" = "VRAI" ] (Ne provoquait qu'un bug d'affichage)
# 3.5 : Calcul de l'espace disque théoriquement libéré
# 3.6 : Correctifs (suppression non fonctionnelle en mode graphique)
# 3.7 : Ajout d'une icone et de la dépendance à gnome-sudo
# 3.8 : dpkg -p devient dpkg -s
# 3.9 : Prise en compte des noyaux "signed" et "lowlatency"
# 4.0 : Voir: https://forum.ubuntu-fr.org/viewtopic.php?id=242358&p=26

CURRENT_VER=4.0

## Bugs connus
# Une fois les suppressions lancées en mode graphique,
# il n'est pas possible de les interrompre 
# L'option force-yes ne fonctionne qu'en mode texte

###################
# Fonctions
###################

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

function display_syntaxe 
{
echo " "
echo " Syntaxe : $0 [options]"
echo " Options disponibles : "
echo "  -t      --term          Lance le script en mode console (mode par défaut)"
echo "  -g      --gui           Lance le script en mode graphique"
echo "  -k      --keep-prev     Conserve automatiquement le noyau précédent" 
echo "  -s      --simulate      Aucune suppression réelle, simple simulation"
echo "  -h      --help          Affichage de la syntaxe"
echo "  -f      --force-yes     Suppression sans aucune demande de confirmation !"
echo "  -v      --version       Informations sur les versions"
echo " "
echo " Exemple d'utilisation en ligne de commande : sudo kclean -k "
echo " "
}

function remove_kernel
{
echo " "
echo " Suppression en cours :"
echo " "
for i in `grep -v "$KERNEL" /tmp/clean_kernel.tmp`
do
    if [ "$SIMULATE" = "VRAI" ]
    then
        echo "Suppression du paquet $i (simple simulation...)  "
    else
        apt-get remove --yes --purge $i
    fi
done
echo " "
echo " -------------- Suppression effectuée ---------------"
echo " "
clean_exit 0
}

# interprétation des paramètres

TERMINAL="VRAI"
KEEP_PREV="FAUX"
SIMULATE="FAUX"
HELP="FAUX"
FORCE_YES="FAUX"
VERSION="FAUX"

while getopts ":tgksvf-:" OPT 
do
    # gestion des options longues avec ou sans 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_syntaxe ; clean_exit 1 ;;
    esac
    # puis gestion des options courtes
    case $OPT in
        t) ;;
        g) TERMINAL="FAUX"  ;;
        k) KEEP_PREV="VRAI" ;;
        s) SIMULATE="VRAI" ;;
        h) HELP="VRAI" ;;
        f) FORCE_YES="VRAI" ;;
        v) VERSION="VRAI" ;;
        *) display_syntaxe ; clean_exit 1 ;;
    esac
done 

## Aide

if [ "$HELP" = "VRAI" ]
then
    display_syntaxe
    clean_exit 0
fi

## Version

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


## Le script a-t-il bien été lancé en tant que root ?

if [ "$USER" != "root" -a "$SIMULATE" = "FAUX" ]
then
    echo " "
    echo " Erreur : Vous devez avoir les droits de root pour supprimer des paquets"
    echo " Avez-vous oublié sudo devant le nom du script ?"
    echo " "
    clean_exit 2
fi

## Traitements communs

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
dpkg -l | grep linux | grep tools | grep ii | awk '{print $2}' | grep -E '2\.6|3\.|4\.' >>/tmp/clean_kernel.tmp

#On supprime immédiatement de la liste le noyau courant :
sed -i -e /$KERNEL/D /tmp/clean_kernel.tmp

#On cherche le noyau précédent
NB_KERNEL=`dpkg -l | grep linux | grep image | grep ^ii | egrep -v "extra|signed|lowlatency" | 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 | egrep -v "extra|signed|lowlatency" | awk '{print $2}' | grep -E '2\.6|3\.|4\.' | sort -V | tail -2 | head -1 | cut -d '-' -f3,4`
fi

# On cherche le noyau le plus récent pour le comparer au noyau courant
LAST_KERNEL=`dpkg -l | grep linux | grep image | grep ^ii | egrep -v "extra|signed|lowlatency" | awk '{print $2}' | grep -E '2\.6|3\.|4\.' | sort -V | tail -1 | cut -d '-' -f 3,4`

########  Mode texte ############

if [ "$TERMINAL" = "VRAI" ]
then
    echo " "
    echo "Noyau actuellement en cours d'utilisation : $KERNEL"
    echo "Par défaut, seul ce noyau est conservé."
    echo " "

    if [ "$LAST_KERNEL" != "$KERNEL" ]
    then
    if [ "$FORCE_YES" = "VRAI" ]
        then 
        echo "ATTENTION : Présence de noyau(x) plus récent(s) sur le système."
        echo "Ce script va néanmoins poursuivre (utilisation du -f)"
        else
            echo "ATTENTION : Au moins un noyau plus récent ( $LAST_KERNEL ) a été détecté."
            echo "Ce phénomène peut avoir plusieurs causes mais, par sécurité,"
            echo "ce script va s'arreter."
            echo " "
            echo "Si vous comprenez exactement ce qui se passe,"
            echo "et si vous souhaitez réellement supprimer tous les noyaux"
            echo "y compris les plus récents, utilisez l'option -f seule."
            clean_exit 4
        fi
    fi

    if [ "$KEEP_PREV" = "VRAI" ]
    then
        echo "Ce script va tenter de trouver la version précédente du noyau pour la conserver."
        if [ "$FORCE_YES" = "FAUX" ]
        then
            echo "Vérifiez les informations fournies avant de valider la suppression."
        fi
        echo " "
        if [ -z "$PREVIOUS_V" ]
        then
            echo "Aucune version précédente trouvée, il n'y a donc rien à supprimer."
            echo "Abandon."
            echo " "
            clean_exit 0
        fi
        echo "La version précédemment installée (à conserver) est la 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 "Aucun noyau à supprimer."
        echo "Abandon."
        echo " "
        clean_exit 0
    fi

    #Calcul de l'espace libére
    ESPACEKB=0
    for i in `grep -v "$KERNEL" /tmp/clean_kernel.tmp`
    do
        ESPACEKB=$(($ESPACEKB+`dpkg -s $i | grep Installed-Size | awk '{print $2}'`))
    done
    ESPACEMB=$(($ESPACEKB / 1024))

    echo "Les paquets suivants vont etre supprimés :"
    echo " "
    cat /tmp/clean_kernel.tmp | sed -e "s@^@    @g"
    echo " "
    echo "Cela devrait libérer environ $ESPACEMB MiB d'espace disque"
    echo " "
    
    ## Mode non interactif

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

    ## Mode interactif

    echo -n " Voulez vous indiquer manuellement des paquets à conserver ? [o/N] :"
    read REP
    if [ "$REP" = "o" -o "$REP" = "O" ]
    then
        echo " indiquez la liste des paquets à conserver en les séparant par un espace : "
        read REP
        for i in `echo "$REP"`
        do
            sed -i -e /$i/D /tmp/clean_kernel.tmp
        done
        echo " "
        echo " Voila la liste des paquets qui seront donc supprimés :"
        echo " "
        grep -v "$KERNEL" /tmp/clean_kernel.tmp | sed -e "s@^@    @g"
        echo " "
    fi
    echo -n " Voulez-vous supprimer l'ensemble des paquets indiqués ? [o/N] :"
    read REP
    if [ "$REP" = "o" -o "$REP" = "O" ]
    then
        remove_kernel
    else
        echo " "
        echo " Abandon de l'opération..."
        echo " "
        clean_exit 0
    fi
else
        
    ############### Mode graphique ##################

    ## On vérifie que zenity est installé
    which zenity > /dev/null
    if [ $? -ne 0 ]
    then
        echo " "
        echo " le mode graphique nécessite zenity pour fonctionner."
        echo " Installez zenity ou utilisez uniquement le mode texte."
        echo " "
        clean_exit 3
    fi

    ## On vérifie qu'un display graphique est disponible
    if [ -z "$DISPLAY" ]
    then
        echo " "
        echo " Aucun serveur graphique disponible (variable DISPLAY vide)"
        echo " Si vous utilisez un serveur en mode texte uniquement,"
        echo " vous pouvez utiliser ce logiciel en mode console en tapant:"
        echo " "
        echo " $0 --term"
        echo " "
        clean_exit 3
    fi

    ## A-t-on bien les droits admin ?
    if [ $USER != "root" ]
    then
        zenity --error --text="Ce programme nécessite les droits root pour fonctioner.\nRelancez-le en tapant : gksudo $0"
        clean_exit 2
    fi

    if [ "$LAST_KERNEL" != "$KERNEL" ]
    then
        zenity --error --text="Vous utilisez actuellement le noyau $KERNEL\nOr, au moins un noyau plus récent ( $LAST_KERNEL ) a été détecté.\nCe phénomène peut avoir plusieurs causes mais,\npar sécurité, ce script va s'arreter.\n\nSi vous souhaitez réellement supprimer ce (ou ces) noyaux,\nlancez kclean en ligne de commande."
        clean_exit 4
    fi
    
    ## Faut il conserver le noyau précédent ?
    if [ "$KEEP_PREV" = "FAUX" ]
    then
        zenity --question --text "Voulez vous conservez le noyau précédent ?"
        if [ $? -eq 0 ]
        then
            KEEP_PREV="VRAI"
        fi
    fi
    
    ## Y-a-t-il vraiment des paquets à supprimer ?
    ## S'il faut conserver le noyau précédent, on le supprime de la liste

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

    TEXT="Le noyau actuellement utilisé a pour version : <b>$KERNEL</b>.\n"
    if [ "$KEEP_PREV" = "VRAI" -a ! -z "$PREVIOUS_V" ]
    then
        TEXT="$TEXT Le noyau précédent a pour version : $PREVIOUS_V.\n"
    fi
    TEXT="$TEXT Aucun paquet faisant référence à un noyau plus ancien n'a été trouvé sur le système...\n\nAppuyez sur OK pour quitter le programme."

    if [ -z "`grep -v "$KERNEL" /tmp/clean_kernel.tmp`" ]
    then
        zenity --info --title "Netoyage dans les noyaux..." \
        --text="$TEXT"
        clean_exit 0
    fi

    ## Oui, il y a des paquets à supprimer...

    if [ "$FORCE_YES" = "VRAI" ]
    then
        TEXT="ATTENTION : L'option -f (force-yes) n'est pas prise en compte en mode graphique."
        zenity --warning --width=500 --height=200 --title "Nettoyage dans les noyaux..." --text="$TEXT"
    fi

    LISTE_PAQUET=""
    ## Construction de la liste des paquets à supprimer pour zenity
    ESPACE_TOTAL=0
    for i in `grep -v "$KERNEL" /tmp/clean_kernel.tmp` 
    do
        ESPACEKB=`dpkg -s $i | grep Installed-Size | awk '{print $2}'`
        ESPACE_TOTAL=$(($ESPACE_TOTAL+$ESPACEKB))
        ESPACEMB=$(($ESPACEKB / 1024))
        LISTE_PAQUET="$LISTE_PAQUET TRUE $i $ESPACEMB"
    done
    ESPACE_TOTAL=$(($ESPACE_TOTAL / 1024))
    TEXT="Vous utilisez actuellement la version <b>$KERNEL</b> de Linux.\n"
    if [ "$KEEP_PREV" = "VRAI" ]
    then
        TEXT="$TEXT Le noyau précédent a pour version : $PREVIOUS_V, il sera conservé.\n"
    fi
    TEXT="$TENT En cliquant sur <b>Valider</b> les paquets suivants seront supprimés:"

    CHOIX=$(zenity \
    --title "Nettoyage dans les noyaux" \
    --text="$TEXT" \
    --width=500 --height=400 \
    --list --print-column="3" --checklist --separator=' ' \
    --column="Supprimer" \
    --column="Nom des paquets" \
    --column="MiB" \
    --print-column=2 \
    $LISTE_PAQUET )

    ## Si on clique sur Annuler...
    if [ $? -ne 0 ]
    then
        clean_exit 2
    fi
    ## Sinon
    
    NBSUP=`echo $CHOIX | wc -w`
    PROGRES=0
    INCREMENT=`expr 100 / $NBSUP`
    (
    for i in `echo $CHOIX`
    do
        if [ "$SIMULATE" = "FAUX" ]
        then
            apt-get remove --purge --yes "$i" >/dev/null 2>&1
        fi
        PROGRES=$(($PROGRES+$INCREMENT))
        echo "$PROGRES"
        echo "# Suppression de $i"
    done
    ) | 
    zenity --progress --width=420 --auto-close --percentage=0 \
    --text="Suppression des paquets sélectionnés..."

    if [ "$SIMULATE" = "FAUX" ]
    then
        TEXTE_FINAL="Les paquets sélectionnés ont bien étés supprimés.\nSi tout était coché, vous avez libéré $ESPACE_TOTAL MiB sur le disque."
    else
        TEXTE_FINAL="Mode simulation terminé, aucun paquet supprimé."
    fi
    
    zenity --info --title "Nettoyage dans les noyaux..." \
    --text="$TEXTE_FINAL"
    clean_exit 0
fi

Edit : une icone corrigé

Dernière modification par f.x0 (Le 11/06/2016, à 10:50)


SOPI

Hors ligne

#719 Le 11/06/2016, à 10:34

moko138

Re : Nettoyage dans les noyaux (kernel)

Ajout d'un icône 

Je sais que l'erreur est commune sur les forums, mais icône est un nom féminin : http://atilf.atilf.fr/dendien/scripts/t … 058255545;.


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#720 Le 11/06/2016, à 10:46

jplemoine

Re : Nettoyage dans les noyaux (kernel)

Le français correct est une icône (féminin + accent circonflexe). En informatique, on utilise souvent un icone (masculin + pas d'accent circonflexe) : c'est une mauvaise traduction.
Dans le même genre, espace quand il s'agit du caractère typographique est féminin...


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#721 Le 11/06/2016, à 11:34

moko138

Re : Nettoyage dans les noyaux (kernel)

Ce n'est pas la même chose :
espace a deux genres reconnus :
c'est du féminin en typographie et du masculin dans tous les autres emplois.
Alors qu'icône a un seul genre reconnu par les dicos..


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#722 Le 11/06/2016, à 11:48

jplemoine

Re : Nettoyage dans les noyaux (kernel)

Oui. Tout à fait.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#723 Le 11/06/2016, à 12:13

moko138

Re : Nettoyage dans les noyaux (kernel)

malbo a écrit :

En résumé, si on fait un nettoyage par kclean et qu'on passe ensuite la commande "sudo apt-get autoremove", on se retrouve avec un seul noyau.

Peut-être est-ce lié : en ./viewtopic.php?pid=21492556#p21492556 nany signalait le 7 avril dernier le bug #1440608 :

/etc/kernel/postinst.d/apt-auto-removal wants to remove all kernels except the latest one


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#724 Le 11/06/2016, à 16:24

Babdu89

Re : Nettoyage dans les noyaux (kernel)

Bonjour.

Suite au sujet du lien donné  Post#717. par malbo, j'ai fais deux tests .

https://forum.ubuntu-fr.org/viewtopic.p … #p21535949

@+.   Babdu89  .

Dernière modification par Babdu89 (Le 11/06/2016, à 16:25)


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

Hors ligne

#725 Le 12/06/2016, à 07:38

malbo

Re : Nettoyage dans les noyaux (kernel)

J'ai refait des essais (ici) qui m'ont convaincu que le bogue dont je parle dans le post #717 n'est pas dû à kclean. Il s'agit du bug #1440608 mentionné par moko138 dans le post #723.

Hors ligne