web-dev-qa-db-fra.com

Puis-je supprimer les anciens noyaux de / boot

Lorsque je lance dpkg --list 'linux-image*', le résultat indique que je n'ai que 4.10.0-37 installé:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                      Version           Architecture      Description
+++-=========================-=================-=================-=======================================================
un  linux-image               <none>            <none>            (no description available)
ii  linux-image-4.10.0-37-gen 4.10.0-37.41      AMD64             Linux kernel image for version 4.10.0 on 64 bit x86 SMP
ii  linux-image-extra-4.10.0- 4.10.0-37.41      AMD64             Linux kernel extra modules for version 4.10.0 on 64 bit
ii  linux-image-generic       4.10.0.37.37      AMD64             Generic Linux kernel image

cependant, lorsque je montre le contenu de /boot, il existe d'autres anciens noyaux:

[~]$ ls /boot
abi-4.10.0-37-generic     config-4.8.0-37-generic   memtest86+.bin            vmlinuz-4.10.0-37-generic
abi-4.2.0-16-generic      efi               memtest86+.elf            vmlinuz-4.10.0-37-generic.efi.signed
abi-4.2.0-42-generic      grub              memtest86+_multiboot.bin      vmlinuz-4.2.0-16-generic
abi-4.8.0-37-generic      initrd.img-4.10.0-37-generic  System.map-4.10.0-37-generic  vmlinuz-4.2.0-42-generic
config-4.10.0-37-generic  initrd.img-4.2.0-16-generic   System.map-4.2.0-16-generic   vmlinuz-4.2.0-42-generic.efi.signed
config-4.2.0-16-generic   initrd.img-4.2.0-42-generic   System.map-4.2.0-42-generic   vmlinuz-4.8.0-37-generic
config-4.2.0-42-generic   initrd.img-4.8.0-37-generic   System.map-4.8.0-37-generic   vmlinuz-4.8.0-37-generic.efi.signed

J'utilise 4.10.0-37:

[~]$ uname -r
4.10.0-37-generic

Puis-je supprimer en toute sécurité les anciens noyaux () de /boot? Utiliser Sudo apt-get remove ... ne fait rien, car ils ne sont pas "installés" pour le moment.

2
Ralph

Vous pouvez supprimer en toute sécurité les noyaux inutilisés de/boot.

Idéalement, vous souhaitez utiliser votre gestionnaire de paquets (apt) pour la suppression. Vous voudrez peut-être voir si vous pouvez les supprimer en utilisant:

Sudo apt-get purge linux-image-4.2.0-16-generic

ou si apt ne fonctionne pas:

Sudo dpkg --purge linux-image-4.2.0-16-generic

ajouter ou répéter ce qui précède pour les noyaux (4.2.0-16, 4.2.0-42, etc.) que vous souhaitez supprimer.

Si ce qui précède ne fonctionne pas, vous pouvez les supprimer manuellement:

Sudo rm /boot/abi-4.2.0-16-generic
Sudo rm /boot/config-4.2.0-16-generic
Sudo rm /boot/initrd.img-4.2.0-16-generic
Sudo rm /boot/System.map-4.2.0-16-generic
Sudo rm /boot/vmlinuz-4.2.0-16-generic

ou si vous aimez vivre dangereusement, quelque chose comme:

Sudo rm /boot/*-4.2.0-16-generic

Un noyau supplémentaire (à celui que vous exécutez) est parfois laissé en tant que sauvegarde. Vous pouvez donc le faire en cas de problème avec le noyau en cours d'exécution.

Après avoir supprimé ces fichiers, vous devez mettre à jour votre chargeur de démarrage. Si vous utilisez GRUB, procédez comme suit:

Sudo update-grub

Je souhaiterais également savoir si un outil "plus propre" qui supprime les paquets d’apt sans supprimer les fichiers vous est utile.

EDIT:

Comme l'a souligné WinEunuuchs2Unix, cela ne supprime pas les fichiers d'en-tête. Normalement, lors de la suppression de vieux noyaux, vous ne supprimeriez pas seulement l'image, mais également les autres fichiers associés. Par exemple:

apt-get purge linux-image-4.2.0-16-generic linux-image-extra-4.2.0-16-generic linux-headers-4.2.0-16-generic linux-headers-4.2.0-16

Voir le lien ci-dessous pour plus de détails.

2
DougC