Noyau/Suppression
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 sa forme 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
Bien s'assurer de vérifier de ne pas supprimer 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 du noyau ont été fusionnées et que emerge --depclean est exécuté avant de passer aux nouvelles sources, les sources actuelles seront supprimées. Pour rester sur les sources actuelles, cette suppression n'est pas souhaitée, car les sources peuvent être nécessaires, par exemple, pour mettre à jour des modules externes du noyau. Il est donc recommandé d'ajouter la version spécifique du noyau au fichier world pour la protéger des opérations de --depclean
.
Un exemple de la manière de procéder :
root #
emerge --depclean --exclude=sys-kernel/gentoo-sources
Cela laissera tous les répertoires de compilation des sources du noyau intacts lors du nettoyage, à nettoyer ensuite avec des outils comme eclean-kernel, mentionné ci-dessous.
Supprimer les restes du noyau
Utiliser eclean-kernel
app-admin/eclean-kernel est un outil simple pour le nettoyage/suppression des anciens noyaux. Il supprime à la fois les fichiers du noyau compilé et les répertoires de compilation s'ils ne sont plus référencés par un noyau conservé.
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
Néanmoins Portage ne retire que les fichiers qu'il a installé - 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 du noyau, 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, retirer toutes les entrées résiduelles de votre fichier de configuration du chargeur de démarrage.