l'eliminazione dei vecchi kernel non riesce a rimuovere i vecchi file initrd


14

Non riesco a spiegare perché ... Suppongo che non sia sicuro semplicemente eliminarli manualmente, quindi alcune indicazioni sarebbero apprezzate. Ecco un ls della mia directory / boot (ovviamente, sto eseguendo il 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

Accidenti - scusami per la formattazione ...
Christopher Scott,

Puoi sempre modificare il tuo post e formattarlo evidenziando il testo e facendo clic sull'icona sopra la casella di testo. o aspetta che qualcun altro lo faccia per te.
user68186

Non ho mai avuto file * .old-dkms. Cosa hai fatto per averli?
jarno,

@jarno Vengono creati dal DKMS (Dynamic Kernel Management System) di Dell per i moduli non inclusi nel kernel mainline. Ad esempio nvidiae l' bbsswitchorigine al momento della compilazione potrebbe sostituire, /boot/initrd.imgquindi creare una copia di backup che può essere ripristinata se dkmsviene utilizzata per disinstallare le modifiche. Sto lavorando oggi per aggiornare il miorm-kernels script bash per eliminarli obsoleti .old-dkms.
WinEunuuchs2Unix

@jarno Secondo la mia risposta di seguito non è più necessario rivedere lo script bash. Le persone hanno solo bisogno di un processo manuale una tantum per eliminare /boot/*.old-dkmsquelli appartenenti ai kernel rimossi.
WinEunuuchs2Unix

Risposte:


10

È sicuro rimuoverli manualmente. Sembra anche che sia stata presentata una segnalazione di bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717584

Posso segnalare lo stesso accadendo qui con il kernel 3.13.0-54 e il 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

Grazie per il link bug. Dopo averlo esaminato, ho scoperto che una correzione è stata apportata a monte nell'aprile 2017. Mi ha salvato la revisione di uno script bash come ho risposto di seguito.
WinEunuuchs2Unix

Sì! In realtà mi è capitato di notare stamattina che quei file vecchio dkms venivano rimossi con successo ora. Bella coincidenza lì.
Nicomaco,

@ WinEunuuchs2Unix oh, sembra che la mia correzione sia arrivata a qualche versione di Ubuntu. Il rispettivo rapporto sui bug del Launchpad è qui . Quale versione di dkms stai usando?
jarno,

@jarno Attualmente sono in esecuzione 2.2.0.3ma non ho idea di quale versione fosse in esecuzione quando i initrd.img*.old-dkmsfile obsoleti sono stati lasciati indietro.
WinEunuuchs2Unix

@ WinEunuuchs2Unix dkms 2.2.0.3-1.1ubuntu5.14.04.9 (in Ubuntu 14.04) sembra non avere la soluzione. Anche il 16.10 utilizza la versione 2.2.0.3. Quindi non so cosa abbia eliminato i file .old-dkms nel tuo sistema.
jarno,

3

È possibile eseguire il comando rm /boot/*.old-dkms con i privilegi di root. Tuttavia, assicurati che i file * .old-dkms rimossi non siano necessari per i kernel più vecchi che potresti aver installato. È possibile visualizzare un elenco dei kernel attualmente installati eseguendo dpkg-query -l "linux-image-[0-9]*" | grep -e "^ii".


0

Avevo intenzione di modificare il mio rm-kernelsscript bash per eliminare questi vecchi backup se il kernel è stato rimosso consudo apt purge *<kernel_version>* . Tuttavia, durante la ricerca di segnalazioni di bug, ho scoperto che questo problema è stato risolto a monte nell'aprile 2017.

Se non ti dispiace eseguire le app della GUI come root, puoi anche utilizzare pkexec nautilusper trovare backup obsoleti da eliminare:

boot-initrd.img.old-dkms

Sul mio sistema Nautilus rivela versioni del kernel 4.4.8, 4.9.21e4.10.10 sono installati e può utilizzare .old-dkmsi backup. Le copie evidenziate sono backup obsoleti che ho eliminato.

NOTA: pkexec richiede l'installazione del kit di criteri. È progettato per sostituire gksue gksudoche vedrai più volte referenziato nei post storici.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.