Noyau/Suppression

From Gentoo Wiki
< Kernel
Jump to:navigation Jump to:search
This page is a translated version of the page Kernel/Removal and the translation is 100% complete.

Cet article explique comment supprimer les anciens noyaux.

Supprimer les sources du noyau

Après avoir installé un nouveau noyau et s'il fonctionne correctement, l'ancien noyau peut être supprimé. Pour supprimer les anciennes sources du noyau, l'option --depclean de la commande emerge (ou -c  dans son option courte) peut être utilisée pour retirer toutes les versions anciennes et non-utilisées d'un paquet installé, comme par exemple pour sys-kernel/gentoo-sources.

root #emerge --ask --depclean gentoo-sources:xx.yy.zzz

Assurez-vous de vérifier que vous ne supprimez pas les sources du noyau en cours d'usage (voir l'article kernel upgrade sur comment mettre à jour.)

Protéger les sources du noyau

Si de nouvelles sources ont été mergé (NdT: installé via emerge) et que la commande emerge --depclean est lancée avant de passer aux nouvelles sources, les sources (NdT: du dernier noyau fraîchement installé) seront supprimés. Pour rester avec les sources actuelles, cette suppression est indésirable, parce que les sources sont utiles, par exemple, pour mettre à jour les modules externes du noyau. Il est donc une bonne pratique d'ajouter la version spécifique du noyau dans le fichier world pour le protéger des opération découlant de l'option --depclean.

Un exemple de la manière de procéder :

root #emerge --depclean --exclude=sys-kernel/gentoo-sources

Cela laissera toutes les sources du noyau dans le répertoire de compilation durant le nettoyage (NdT: et le protège), mais qui peut par la suite être nettoyé avec un outil comme eclean-kernel, voir ci-dessous.

Supprimer les restes du noyau

Utiliser eclean-kernel

app-admin/eclean-kernel est un outil simple pour le nettoyage/la suppression des anciens noyaux. Il retire à la fois les fichiers et les répertoires de compilation s'ils ne sont plus référencés par aucun des noyaux préservés.

Voir la commande eclean-kernel --help après installation pour des instructions d'utilisation.

user $eclean-kernel --help
usage: eclean-kernel [-h] [-V] [-A] [-l] [-p] [-b BOOTLOADER] [-L LAYOUT] [-r ROOT] [-a] [-d] [-n NUM] [-s SORT_ORDER]
                      [-D] [-M] [--no-bootloader-update] [--no-kernel-install] [-x EXCLUDE]
 
 Remove old kernel versions, keeping either N newest kernels (with -n) or only those which are referenced by a bootloader
 (with -a).
 
 optional arguments:
   -h, --help            show this help message and exit
   -V, --version         show program's version number and exit
 
 action control:
   -A, --ask             Ask before removing each kernel
   -l, --list-kernels    List kernel files and exit
   -p, --pretend         Print the list of kernels to be removed and exit
 
 system configuration:
   -b BOOTLOADER, --bootloader BOOTLOADER
                         Bootloader used (auto, lilo, grub2, grub, yaboot, symlinks)
   -L LAYOUT, --layout LAYOUT
                         Layout used (auto, blspec, std)
   -r ROOT, --root ROOT  Alternate filesystem root to use
 
 kernel selection:
   -a, --all             Remove all kernels unless used by bootloader
   -d, --destructive     Destructive mode: remove kernels even when referenced by bootloader
   -n NUM, --num NUM     Leave only newest NUM kernels (see also: --sort-order)
   -s SORT_ORDER, --sort-order SORT_ORDER
                         Kernel sort order (mtime, version); default: version
 
 misc options:
   -D, --debug           Enable debugging output
   -M, --no-mount        Disable (re-)mounting /boot if necessary
   --no-bootloader-update
                         Do not update bootloader configuration after removing kernels (if supported by the bootloader
   --no-kernel-install   Do not call kernel-install while removing kernels (if installed)
   -x EXCLUDE, --exclude EXCLUDE
                         Exclude kernel parts from being removed (comma-separated, supported parts: vmlinuz, systemmap,
                         config, initramfs, modules, build, misc, emptydir)

Par exemple, pour conserver les trois noyaux les plus récents :

root #eclean-kernel -n 3

Suppression manuelle

Portage néanmoins ne retire que les fichiers qu'il a installés - les fichiers générés pendant la compilation du noyau et son installation subsistent. Ils peuvent être retirés en toute sécurité.

  • Lorsqu'un noyau est compilé/construit dans le répertoire des sources, les fichiers générés pendant la compilation subsistent et ne sont pas retirés par Portage :
root #rm -r /usr/src/linux-3.X.Y
  • Pendant l'installation du noyau, les modules du noyau sont copiés dans un sous-répertoire de /lib/modules/:
root #rm -r /lib/modules/3.X.Y
  • Les anciens fichiers dans /boot peuvent aussi être retiré :
root #rm /boot/vmlinuz-3.X.Y
root #rm /boot/System.map-3.X.Y
root #rm /boot/config-3.X.Y
root #rm /boot/initramfs-X.Y.Z
  • Pour terminer, retirez toutes les entrées résiduelles de votre fichier de configuration du chargeur de démarrage.