Cómo eliminar núcleos antiguos no utilizados en Debian y Ubuntu


En nuestro último artículo, explicamos cómo eliminar núcleos antiguos no utilizados en CentOS/RHEL/Fedora. En este artículo, explicaremos cómo eliminar los núcleos antiguos que no se utilizan en los sistemas Debian y Ubuntu, pero antes de continuar, es posible que desee instalar la última versión para aprovechar: correcciones de seguridad, nuevas funciones del núcleo, controladores actualizados, etc. mucho más.

Para actualizar su kernel a la última versión en Ubuntu y Debian, siga esta guía:

  1. Cómo actualizar el kernel a la última versión en Ubuntu

Importante: Es aconsejable mantener al menos uno o dos núcleos antiguos a los que recurrir en caso de que surja un problema con una actualización.

Para averiguar la versión actual del kernel de Linux que se ejecuta en su sistema, use el siguiente comando.

$ uname -sr

Linux 4.12.0-041200-generic

Para enumerar todos los núcleos instalados en su sistema, emita este comando.

$ dpkg -l | grep linux-image | awk '{print$2}'

linux-image-4.12.0-041200-generic
linux-image-4.8.0-22-generic
linux-image-extra-4.8.0-22-generic
linux-image-generic

Eliminar núcleos antiguos no utilizados en Debian y Ubuntu

Ejecute los siguientes comandos para eliminar una imagen de Linux en particular junto con sus archivos de configuración, luego actualice la configuración de grub2 y, por último, reinicie el sistema.

$ sudo apt remove --purge linux-image-4.4.0-21-generic
$ sudo update-grub2
$ sudo reboot
[sudo] password for tecmint: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  linux-generic linux-headers-4.8.0-59 linux-headers-4.8.0-59-generic linux-headers-generic linux-image-4.8.0-59-generic linux-image-extra-4.8.0-59-generic linux-image-generic
Suggested packages:
  fdutils linux-doc-4.8.0 | linux-source-4.8.0 linux-tools
Recommended packages:
  thermald
The following packages will be REMOVED:
  linux-image-4.8.0-22-generic* linux-image-extra-4.8.0-22-generic*
The following NEW packages will be installed:
  linux-headers-4.8.0-59 linux-headers-4.8.0-59-generic linux-image-4.8.0-59-generic linux-image-extra-4.8.0-59-generic
The following packages will be upgraded:
  linux-generic linux-headers-generic linux-image-generic
3 upgraded, 4 newly installed, 2 to remove and 182 not upgraded.
Need to get 72.0 MB of archives.
After this operation, 81.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-headers-4.8.0-59 all 4.8.0-59.64 [10.2 MB]
Get:2 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-headers-4.8.0-59-generic amd64 4.8.0-59.64 [811 kB]                                                               
Get:3 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-generic amd64 4.8.0.59.72 [1,782 B]                                                                               
Get:4 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-headers-generic amd64 4.8.0.59.72 [2,320 B]                                                                       
Get:5 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-image-4.8.0-59-generic amd64 4.8.0-59.64 [23.6 MB]                                                                
Get:6 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-image-extra-4.8.0-59-generic amd64 4.8.0-59.64 [37.4 MB]                                                          
Get:7 http://us.archive.ubuntu.com/ubuntu yakkety-updates/main amd64 linux-image-generic amd64 4.8.0.59.72 [2,348 B]                                                                         
Fetched 72.0 MB in 7min 12s (167 kB/s)                                                                                                                                                       
Selecting previously unselected package linux-headers-4.8.0-59.
(Reading database ... 104895 files and directories currently installed.)
Preparing to unpack .../0-linux-headers-4.8.0-59_4.8.0-59.64_all.deb ...
Unpacking linux-headers-4.8.0-59 (4.8.0-59.64) ...
Selecting previously unselected package linux-headers-4.8.0-59-generic.
Preparing to unpack .../1-linux-headers-4.8.0-59-generic_4.8.0-59.64_amd64.deb ...
Unpacking linux-headers-4.8.0-59-generic (4.8.0-59.64) ...
Preparing to unpack .../2-linux-generic_4.8.0.59.72_amd64.deb ...
Unpacking linux-generic (4.8.0.59.72) over (4.8.0.22.31) ...
Preparing to unpack .../3-linux-headers-generic_4.8.0.59.72_amd64.deb ...
Unpacking linux-headers-generic (4.8.0.59.72) over (4.8.0.22.31) ...
Selecting previously unselected package linux-image-4.8.0-59-generic.
Preparing to unpack .../4-linux-image-4.8.0-59-generic_4.8.0-59.64_amd64.deb ...
Done.
Removing linux-image-4.8.0-22-generic (4.8.0-22.24) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.8.0-22-generic /boot/vmlinuz-4.8.0-22-generic
update-initramfs: Deleting /boot/initrd.img-4.8.0-22-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.8.0-22-generic /boot/vmlinuz-4.8.0-22-generic
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.12.0-041200-generic
Found initrd image: /boot/initrd.img-4.12.0-041200-generic
Found linux image: /boot/vmlinuz-4.8.0-59-generic
done
...

Aunque este método funciona bien, es más confiable y eficiente usar un práctico script llamado "byobu" que combina todos los comandos anteriores en un solo programa con opciones útiles como especificar el número de núcleos para mantener en el sistema.

Instale el paquete de scripts byobu que proporciona un programa llamado purge-old-kernels utilizado para eliminar kernels antiguos y paquetes de encabezado del sistema.

$ sudo apt install byobu

Luego elimine los núcleos antiguos como tal (el siguiente comando permite mantener 2 núcleos en el sistema).

$ sudo purge-old-kernels --keep 2

También le puede interesar leer los siguientes artículos relacionados sobre el kernel de Linux.

  1. Cómo cargar y descargar módulos de kernel en Linux
  2. Cómo cambiar los parámetros de tiempo de ejecución del kernel de forma persistente y no persistente

En este artículo, hemos descrito cómo eliminar imágenes de kernel antiguas que no se utilizan en los sistemas Ubuntu y Debian. Puede compartir sus pensamientos a través de los comentarios a continuación.