la purga de núcleos antiguos no elimina los archivos initrd antiguos

14

No puedo explicar por qué ... Supongo que no es seguro simplemente eliminarlos manualmente, por lo que agradecería alguna orientación. Aquí hay un ls de mi directorio / boot (obviamente, estoy ejecutando el kernel 3.13.0-51):

-rw-r--r-- 1 root root  1164671 Apr 15 09:03 abi-3.13.0-51-generic
-rw-r--r-- 1 root root   165762 Apr 15 09:03 config-3.13.0-51-generic
drwxr-xr-x 5 root root     1024 Apr 30 14:33 grub
-rw-r--r-- 1 root root 22431280 Nov 26 14:16 initrd.img-3.13.0-36-generic.old-dkms
-rw-r--r-- 1 root root 22427261 Nov 26 14:16 initrd.img-3.13.0-37-generic.old-dkms
-rw-r--r-- 1 root root  9098067 Nov 26 18:00 initrd.img-3.13.0-39-generic.old-dkms
-rw-r--r-- 1 root root  9109727 Feb  5 15:22 initrd.img-3.13.0-40-generic.old-dkms
-rw-r--r-- 1 root root  9110419 Jan 18 02:29 initrd.img-3.13.0-43-generic.old-dkms
-rw-r--r-- 1 root root  9109659 Apr  5 23:11 initrd.img-3.13.0-44-generic.old-dkms
-rw-r--r-- 1 root root  9109097 Apr  5 23:01 initrd.img-3.13.0-46-generic.old-dkms
-rw-r--r-- 1 root root  5814104 Apr 30 14:13 initrd.img-3.13.0-48-generic
-rw-r--r-- 1 root root 22483793 Apr 30 13:52 initrd.img-3.13.0-48-generic.old-dkms
-rw-r--r-- 1 root root  9124331 Apr 30 14:28 initrd.img-3.13.0-49-generic.old-dkms
-rw-r--r-- 1 root root 22496134 Apr 30 13:59 initrd.img-3.13.0-51-generic
-rw-r--r-- 1 root root  4112384 Apr 30 12:16 initrd.img-3.13.0-51-generic.old-dkms
drwx------ 2 root root    12288 Aug  4  2014 lost+found
-rw-r--r-- 1 root root   176500 Mar 12  2014 memtest86+.bin
-rw-r--r-- 1 root root   178176 Mar 12  2014 memtest86+.elf
-rw-r--r-- 1 root root   178680 Mar 12  2014 memtest86+_multiboot.bin
-rw------- 1 root root  3389875 Apr 15 09:03 System.map-3.13.0-51-generic
-rw------- 1 root root  5818368 Apr 15 09:03 vmlinuz-3.13.0-51-generic
Christopher Scott
fuente
Maldición - perdón por el formato ...
Christopher Scott
Siempre puede editar su publicación y formatearla resaltando el texto y haciendo clic en el icono que se encuentra sobre el cuadro de texto. o espera a que alguien más lo haga por ti.
user68186
Nunca he tenido archivos * .old-dkms. ¿Qué hiciste para tenerlos?
jarno
@jarno Fueron creados por el DKMS (Sistema de gestión de kernel dinámico) de Dell para módulos no incluidos en el kernel principal. Por ejemplo nvidiay bbsswitchfuente cuando se compila podría reemplazar /boot/initrd.imgasí que haga una copia de seguridad que puede ser restaurado si dkmsse utiliza para desinstalar los cambios. Estoy trabajando hoy para actualizar mi rm-kernelsscript bash para eliminarlos obsoletos .old-dkms.
WinEunuuchs2Unix
@jarno Según mi respuesta a continuación, ya no es necesario revisar el script bash. Las personas solo necesitan un proceso manual único para eliminar /boot/*.old-dkmsque pertenecen a los núcleos eliminados.
WinEunuuchs2Unix

Respuestas:

10

Es seguro eliminarlos manualmente. También parece que hay un informe de error archivado: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717584

Puedo informar lo mismo que sucede aquí con el kernel 3.13.0-54 y el kernel 3.13.0-55.

-rw-r--r-- 1 root root 1.2M Jun 17 20:03 abi-3.13.0-55-generic
-rw-r--r-- 1 root root 1.2M Jun 19 05:04 abi-3.13.0-57-generic
-rw-r--r-- 1 root root 162K Jun 17 20:03 config-3.13.0-55-generic
-rw-r--r-- 1 root root 162K Jun 19 05:04 config-3.13.0-57-generic
drwxr-xr-x 5 root root  12K Jul 11 15:54 grub
-rw-r--r-- 1 root root  11M Jul  7 21:37 initrd.img-3.13.0-54-generic.old-dkms
-rw-r--r-- 1 root root  27M Jul  4 13:37 initrd.img-3.13.0-55-generic
-rw-r--r-- 1 root root  27M Jul  4 13:37 initrd.img-3.13.0-55-generic.old-dkms
-rw-r--r-- 1 root root  27M Jul  6 18:28 initrd.img-3.13.0-57-generic
-rw-r--r-- 1 root root 173K Mar 12  2014 memtest86+.bin
-rw-r--r-- 1 root root 174K Mar 12  2014 memtest86+.elf
-rw-r--r-- 1 root root 175K Mar 12  2014 memtest86+_multiboot.bin
-rw------- 1 root root 3.3M Jun 17 20:03 System.map-3.13.0-55-generic
-rw------- 1 root root 3.3M Jun 19 05:04 System.map-3.13.0-57-generic
-rw------- 1 root root 5.6M Jun 17 20:03 vmlinuz-3.13.0-55-generic
-rw------- 1 root root 5.6M Jun 19 05:04 vmlinuz-3.13.0-57-generic
Nicomachus
fuente
Gracias por el enlace de error. Al revisarlo, descubrí que se realizó una solución en abril de 2017. Me salvó la revisión de un script bash como respondí a continuación.
WinEunuuchs2Unix
¡Si! De hecho, acabo de darme cuenta esta mañana de que esos archivos dkms antiguos se estaban eliminando con éxito ahora. Buena coincidencia allí.
Nicomachus
@ WinEunuuchs2Unix oh, parece que mi solución ha llegado a alguna versión de Ubuntu. El informe de error de Launchpad respectivo está aquí . ¿Qué versión de dkms estás usando?
jarno
@jarno Actualmente estoy ejecutando, 2.2.0.3pero no tengo idea de qué versión se estaba ejecutando cuando los initrd.img*.old-dkmsarchivos obsoletos se quedaron atrás.
WinEunuuchs2Unix
@ WinEunuuchs2Unix dkms 2.2.0.3-1.1ubuntu5.14.04.9 (en Ubuntu 14.04) parece no tener la solución. Incluso 16.10 usa la versión 2.2.0.3. Por lo tanto, no sé qué eliminó los archivos .old-dkms en su sistema.
jarno
3

Puede ejecutar el comando rm /boot/*.old-dkmscon privilegios de root. Sin embargo, asegúrese de que los archivos * .old-dkms eliminados no sean necesarios para los núcleos más antiguos que pueda haber instalado. Puede ver una lista de sus núcleos actualmente instalados ejecutando dpkg-query -l "linux-image-[0-9]*" | grep -e "^ii".

Devyn Collier Johnson
fuente
0

Estaba planeando modificar mi rm-kernelsscript bash para eliminar estas copias de seguridad antiguas si el núcleo se ha eliminado con sudo apt purge *<kernel_version>*. Sin embargo, mientras investigaba informes de errores, descubrí que esto se solucionó en abril de 2017.

Si no le importa ejecutar aplicaciones GUI como root, también puede usar pkexec nautiluspara encontrar copias de seguridad obsoletas para eliminar:

boot-initrd.img.old-dkms

En mi sistema, Nautilus revela versiones del núcleo 4.4.8, 4.9.21y 4.10.10están instaladas y pueden utilizar .old-dkmscopias de seguridad. Las copias resaltadas son copias de seguridad obsoletas que eliminé.

NOTA: pkexec requiere la configuración del kit de políticas. Está diseñado para reemplazar gksuy gksudoque verá referenciado muchas veces en publicaciones históricas.

WinEunuuchs2Unix
fuente