12 février 2014

Désinstaller un noyau

Un noyau s’installe comme un programme quelconque. Il ne remplace pas le précédent noyau mais il s’ajoute dans le système. Le menu de GRUB permet lors du démarrage de votre ordinateur de choisir quel noyau utiliser.
Il est conseillé de garder en plus du noyau utilisé en production, un second noyau considéré stable et fiable au cas où le premier ne pourrait plus démarrer.
Les autres noyaux n’étant pas nécessaires sont à désinstaller.

1. Debian et Ubuntu

a. Lister les noyaux installés

Dans le dossier /lib/modules, il existe un sous-dossier par noyau installé. Il contient les modules du noyau (Loadable Kernel Modules). La commande ls peut les afficher ainsi :
# ls -1 /lib/modulesdrwxr-xr-x 3 root root 4096 juil. 23 21:54 3.10.2
drwxr-xr-x 3 root root 4096 sept. 5 21:29 3.10.2-20130726
drwxr-xr-x 4 root root 4096 nov. 15 15:24 3.2.0-4-amd64
La commande dpkg avec le commutateur -l peut lister les paquets installés. grep filtre les paquets répondant au motif « linux-image* » et awk formate l’affichage du résultat :
#dpkg -l |grep -i "linux-image*" | awk ’{print $2}’  
linux-image-3.10.2-20130726  
linux-image-3.2.0-4-amd64

b. Désinstaller

La désinstallation d’un noyau s’effectue comme un programme puisque c’est un paquet Debian. L’opération peut s’effectuer avec apt-get purge :
# apt-get purge "linux-image-3.10.2"  
Lecture des listes de paquets... Fait  
Construction de l’arbre des dépendances  
Lecture des informations d’état... Fait  
Note : sélection de linux-image-3.10.2-20130726 pour l’expression  
rationnelle « linux-image-3.10.2 »  
Note : sélection de linux-image-3.10.2-20130726-dbg pour  
l’expression rationnelle « linux-image-3.10.2 »  
Le paquet « linux-image-3.10.2-20130726-dbg » n’est pas installé,  
et ne peut donc être supprimé  
Les paquets suivants seront ENLEVÉS :  
  linux-image-3.10.2-20130726*  
0 mis à jour, 0 nouvellement installés, 1 à enlever et 5 non mis à  
jour.  
Après cette opération, 99,5 Mo d’espace disque seront libérés.  
Souhaitez-vous continuer [O/n] ? O 
(Lecture de la base de données... 172190 fichiers et répertoires déjà
installés.)  
Suppression de linux-image-3.10.2-20130726 
Examining /etc/kernel/prerm.d.  
run-parts: executing /etc/kernel/prerm.d/dkms 3.10.2-20130726 
 /boot/vmlinuz-3.10.2-20130726  
Examining /etc/kernel/postrm.d .  
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.10.2- 
20130726 /boot/vmlinuz-3.10.2-20130726  
update-initramfs: Deleting /boot/initrd.img-3.10.2-20130726  
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.10.2- 
20130726 /boot/vmlinuz-3.10.2-20130726  
Generating grub.cfg 
Found background image: /usr/share/images/desktop-base/desktop- 
grub.png  
Found linux image: /boot/vmlinuz-3.10.2  
Found initrd image: /boot/initrd.img-3.10.2  
Found linux image: /boot/vmlinuz-3.2.0-4-amd64  
Found initrd image: /boot/initrd.img-3.2.0-4-amd64  
done  
Purge des fichiers de configuration de linux-image-3.10.2-20130726  
Examining /etc/kernel/postrm.d .  
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.10.2- 
20130726 /boot/vmlinuz-3.10.2-20130726  
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.10.2- 
20130726 /boot/vmlinuz-3.10.2-20130726

2. CentOS

a. Lister les noyaux installés

Tout comme Debian et Ubuntu, le dossier /lib/modules contient un dossier par noyau installé. Par conséquent, la commande ls peut être utilisée :
# ls -1 /lib/modules 
2.6.32-358.0.1.el6.x86_64  
2.6.32-358.11.1.el6.x86_64  
2.6.32-358.14.1.el6.x86_64  
2.6.32-358.6.1.el6.x86_64  
2.6.32-358.6.2.el6.x86_64
La commande rpm (Red Hat Package Manager) utilisée avec le commutateur -q (--query) permet de lister les paquets noyaux installés :
# rpm -q kernel  
kernel-2.6.32-358.0.1.el6.x86_64  
kernel-2.6.32-358.11.1.el6.x86_64  
kernel-2.6.32-358.14.1.el6.x86_64  
kernel-2.6.32-358.6.1.el6.x86_64  
kernel-2.6.32-358.6.2.el6.x86_64 

b. Désinstaller

La commande yum (Yellowdog Updater Modified) est une surcouche de rpm gérant l’installation avec les dépendances ou la suppression de paquets.
Syntaxe
yum <action> <paquet(s)>
Action nécessaire :
Action
Description
remove
Supprime le paquet mentionné



Tapez dans un terminal :
# yum -y remove kernel-2.6.32-358.0.1.el6.x86_64  
Loaded plugins: fastestmirror, security  
Setting up Remove Process  
Resolving Dependencies  
--> Running transaction check  
---> Package kernel.x86_64 0:2.6.32-358.0.1.el6 will be erased  
--> Finished Dependency Resolution  
 
Dependencies Resolved  
 
==================================================================  
Package    Arch      Version                Repository      Size  
==================================================================  
Removing:  
kernel     x86_64    2.6.32-358.0.1.el6     @updates        116 M  
 
Transaction Summary  
==================================================================  
Remove        1 Package(s)  
 
Installed size: 116 M  
Downloading Packages:  
Running rpm_check_debug  
Running Transaction Test  
Transaction Test Succeeded  
Running Transaction  
  Erasing    : kernel-2.6.32-358.0.1.el6.x86_64               1/1  
  Verifying  : kernel-2.6.32-358.0.1.el6.x86_64               1/1  
 
Removed:  
  kernel.x86_64 0:2.6.32-358.0.1.el6 
 
Complete!
Étant la commande de base, rpm peut aussi supprimer un paquet :
# rpm -e kernel-2.6.32-358.0.1.el6.x86_64

c. Limiter le nombre de paquets

Il est possible de définir dans le fichier /etc/yum.conf le nombre maximal de paquets qui peuvent être installés en même temps pour un programme.
La valeur par défaut est 5 :
# grep install /etc/yum.conf  
installonly_limit=5 
La commande sed permet de modifier cette valeur.
Syntaxe
sed <option> <s/texte_recherché/texte_de_remplacement/’> <fichier>
Option nécessaire :
Option
Description
courte
longue
-i
--in-place
Modifie le fichier sur place.





Pour limiter le nombre de paquets à 2, tapez dans un terminal :
# sed -i ’s/installonly_limit=5/installonly_limit=2/’  
/etc/yum.conf
et vérifiez :
# grep install /etc/yum.conf  
installonly_limit=2

Aucun commentaire :

Enregistrer un commentaire