いくつかのUbuntuマシンでは、常にすべての古いカーネルを削除していますが、常に完全なブートパーティションの問題に直面しています。問題は、関連するカーネルが実際にインストールされていなくても、多くのinitrd
ファイルがブートパーティションにあるために発生するようです。例を挙げると:
root@Jacobi:/boot# ls -lah
insgesamt 202M
drwxr-xr-x 3 root root 3,0K Jan 30 10:03 .
drwxr-xr-x 25 root root 4,0K Jan 30 10:03 ..
-rw-r--r-- 1 root root 1,2M Dez 11 15:36 abi-4.4.0-104-generic
-rw-r--r-- 1 root root 1,2M Jan 9 22:28 abi-4.4.0-109-generic
-rw-r--r-- 1 root root 1,2M Jan 19 14:06 abi-4.4.0-112-generic
-rw-r--r-- 1 root root 187K Dez 11 15:36 config-4.4.0-104-generic
-rw-r--r-- 1 root root 187K Jan 9 22:28 config-4.4.0-109-generic
-rw-r--r-- 1 root root 187K Jan 19 14:06 config-4.4.0-112-generic
drwxr-xr-x 5 root root 1,0K Jan 30 10:03 grub
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-3.13.0-39-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-101-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-103-generic
-rw-r--r-- 1 root root 38M Jan 30 10:02 initrd.img-4.4.0-104-generic
-rw-r--r-- 1 root root 38M Jan 30 10:02 initrd.img-4.4.0-109-generic
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-4.4.0-38-generic
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-4.4.0-45-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-59-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-77-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-78-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-81-generic
-rw-r--r-- 1 root root 179K Jan 28 2016 memtest86+.bin
-rw-r--r-- 1 root root 181K Jan 28 2016 memtest86+.elf
-rw-r--r-- 1 root root 181K Jan 28 2016 memtest86+_multiboot.bin
-rw------- 1 root root 3,8M Dez 11 15:36 System.map-4.4.0-104-generic
-rw------- 1 root root 3,8M Jan 9 22:28 System.map-4.4.0-109-generic
-rw------- 1 root root 3,8M Jan 19 14:06 System.map-4.4.0-112-generic
-rw------- 1 root root 6,8M Dez 11 15:36 vmlinuz-4.4.0-104-generic
-rw------- 1 root root 6,8M Jan 9 22:28 vmlinuz-4.4.0-109-generic
-rw------- 1 root root 6,8M Jan 19 14:06 vmlinuz-4.4.0-112-generic
ただし、linux-image-4.4.0-104-genericおよびlinux-image-4.4.0-109-genericのみがインストールされます。
root@Jacobi:/boot# dpkg -l linux-image-\* | grep ^ii
ii linux-image-4.4.0-104-generic 4.4.0-104.127 AMD64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-109-generic 4.4.0-109.132 AMD64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-104-generic 4.4.0-104.127 AMD64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-109-generic 4.4.0-109.132 AMD64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
不要なinitrdファイルを手動で削除すると、アップグレードを試みるとすぐに再び生成されます。
この問題の原因は何ですか?また、これらのファイルを永久に削除するにはどうすればよいですか?
部分的に削除されたカーネルをチェックする必要があります
dpkg -l linux-image-\* | grep ^rc
Sudo apt-get purge linux-image-4.4.0-101-generic
などで削除します。
パージすると、/var/lib/initramfs-tools/
からinitramfs生成ルールが削除されます。
それでも解決しない場合は、initramfsリストから手動で削除できます。
Sudo rm /var/lib/initramfs-tools/3.13.0-39-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-101-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-103-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-38-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-45-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-59-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-77-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-78-generic
Sudo rm /var/lib/initramfs-tools/4.4.0-81-generic
通常、purge-old-kernels
に続いてSudo apt-get autoremove
を実行して、最近のカーネルを2つだけにします。
インストールされたカーネルをinitramfsesで再インストールできます。
Sudo apt-get install --reinstall \
$(dpkg -l linux-image-\* | grep ^ii | awk '{print $2}')