在通常的「你的 /boot 已滿」訊息之後,我嘗試使用 byobu 清理舊內核
sudo purge-old-kernels
No kernels are eligible for removal
然而當我跑步時ls /boot
,我得到了這個
abi-4.4.0-78-generic initrd.img-4.4.0-51-generic.old-dkms initrd.img-4.4.0-70-generic.old-dkms memtest86+.bin
config-4.4.0-78-generic initrd.img-4.4.0-53-generic.old-dkms initrd.img-4.4.0-71-generic.old-dkms memtest86+.elf
efi initrd.img-4.4.0-57-generic.old-dkms initrd.img-4.4.0-72-generic.old-dkms memtest86+_multiboot.bin
grub initrd.img-4.4.0-59-generic.old-dkms initrd.img-4.4.0-75-generic System.map-4.4.0-78-generic
initrd.img-4.4.0-38-generic.old-dkms initrd.img-4.4.0-62-generic.old-dkms initrd.img-4.4.0-75-generic.old-dkms vmlinuz-4.4.0-78-generic
initrd.img-4.4.0-42-generic.old-dkms initrd.img-4.4.0-63-generic.old-dkms initrd.img-4.4.0-77-generic.old-dkms vmlinuz-4.4.0-78-generic.efi.signed
initrd.img-4.4.0-43-generic.old-dkms initrd.img-4.4.0-64-generic.old-dkms initrd.img-4.4.0-78-generic
initrd.img-4.4.0-45-generic.old-dkms initrd.img-4.4.0-66-generic.old-dkms initrd.img-4.4.0-79-generic.old-dkms
initrd.img-4.4.0-47-generic.old-dkms initrd.img-4.4.0-67-generic.old-dkms lost+found
當我運行時dpkg --list | egrep -i 'linux-image|linux-headers'
,輸出包括
rc linux-image-extra-4.4.0-xx-generic 4.4.0-xx amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
rc
前面的是什麼意思?為什麼會出現這些殘留影像以及如何修復它?
編輯1:我刪除了所有殘留的包,現在dpkg --list | egrep -i 'linux-image|linux-headers'
看起來正常
ii linux-headers-4.4.0-78 4.4.0-78.99 all Header files related to Linux kernel version 4.4.0
ii linux-headers-4.4.0-78-generic 4.4.0-78.99 amd64 Linux kernel headers for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-78-generic 4.4.0-78.99 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-78-generic 4.4.0-78.99 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
apt purge
給出0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
grub 中仍然充滿了 initrd.img。
答案1
有關 的含義rc
,請檢查輸出的標題dpkg --list
。
$ dpkg --list | head -n3
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)
第一個字母是想要的,r
這裡的意思是消除。第二個字母是地位,c
這裡的意思是Conf文件。
換句話說,包本身被刪除,但其配置被保留。您apt purge <package>
也可以運行來刪除配置。設定檔大多很小,保留它們以便於重新安裝。
initrd.img-*.old-dkms
必須手動刪除這些檔案。看答案
獲取更多資訊。