limpar kernels antigos falha ao remover arquivos initrd antigos

14

Não consigo explicar o porquê ... Suponho que não é seguro simplesmente excluí-los manualmente, para que algumas orientações sejam apreciadas. Aqui está um sl do meu diretório / boot (obviamente, estou executando o 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
fonte
Droga - desculpem a formatação ...
Christopher Scott
Você sempre pode editar sua postagem e formatá-la, realçando o texto e clicando no ícone acima da caixa de texto. ou aguarde alguém fazer isso por você.
user68186
Eu nunca tive arquivos * .old-dkms. O que você fez para tê-los?
jarno
@jarno Eles foram criados pelo DKMS (Sistema de Gerenciamento Dinâmico de Kernel) da Dell para módulos não incluídos no kernel da linha principal. Por exemplo nvidiae bbsswitchfonte quando compilado pode substituir /boot/initrd.imgassim que faça uma cópia de segurança que pode ser restaurada se dkmsfor usado para desinstalar as alterações. Estou trabalhando hoje para atualizar meu rm-kernelsscript bash para excluí-los obsoletos .old-dkms.
WinEunuuchs2Unix 7/08
@jarno Conforme minha resposta abaixo, revisar o script bash não é mais necessário. As pessoas precisam apenas de um processo manual único para excluir os /boot/*.old-dkmsque pertencem aos kernels removidos.
WinEunuuchs2Unix 7/08

Respostas:

10

É seguro removê-los manualmente. Também parece que há um relatório de erro arquivado: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717584

Posso relatar o mesmo acontecendo aqui com o kernel 3.13.0-54 e o 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
fonte
Obrigado pelo link do bug. Ao revisá-lo, descobri que uma correção foi feita em abril de 2017. Isso me salvou revisando um script bash, conforme respondi abaixo.
WinEunuuchs2Unix 7/08
Sim! Na verdade, percebi hoje de manhã que esses arquivos dkms antigos estavam sendo removidos com sucesso agora. Boa coincidência lá.
Nicomachus
@ WinEunuuchs2Unix oh, parece que minha correção chegou a algum lançamento do Ubuntu. O respectivo relatório de bug do Launchpad está aqui . Qual versão do dkms você está usando?
Jarno
@jarno Atualmente, estou executando, 2.2.0.3mas não tenho idéia de qual versão estava sendo executada quando os initrd.img*.old-dkmsarquivos obsoletos foram deixados para trás.
WinEunuuchs2Unix
O @ WinEunuuchs2Unix dkms 2.2.0.3-1.1ubuntu5.14.04.9 (no Ubuntu 14.04) parece não ter a correção. Mesmo 16.10 usa a versão 2.2.0.3. Portanto, não sei o que excluiu os arquivos .old-dkms no seu sistema.
Jarno
3

Você pode executar o comando rm /boot/*.old-dkmscom privilégios de root. No entanto, verifique se os arquivos * .old-dkms removidos não são necessários pelos kernels mais antigos que você pode ter instalado. Você pode ver uma lista dos seus kernels atualmente instalados executando dpkg-query -l "linux-image-[0-9]*" | grep -e "^ii".

Devyn Collier Johnson
fonte
0

Eu estava planejando modificar meu rm-kernelsscript bash para excluir esses backups antigos se o kernel tiver sido removido sudo apt purge *<kernel_version>*. No entanto, ao pesquisar relatórios de bugs, descobri que isso foi corrigido antes em abril de 2017.

Se você não se importa de executar aplicativos GUI como root, também pode usar pkexec nautiluspara encontrar backups obsoletos para excluir:

boot-initrd.img.old-dkms

No meu sistema Nautilus revela versões do kernel 4.4.8, 4.9.21e 4.10.10são instalados e pode utilizar .old-dkmsbackups. As cópias destacadas são backups obsoletos que excluí.

NOTA: pkexec requer a configuração do kit de políticas. Ele foi projetado para substituir gksue gksudovocê verá muitas vezes referenciado em posts históricos.

WinEunuuchs2Unix
fonte