January 23, 2018 • ☕️ 4 min read

Ubuntuのパッケージをインストールする時、新しいカーネルが必要となるエラーが出てきて、

update-initramfs: Generating /boot/initrd.img-4.4.0-104-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.4.0-104-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-extra-4.4.0-104-generic (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of linux-image-generic:
linux-image-generic depends on linux-image-extra-4.4.0-104-generic; however:
Package linux-image-extra-4.4.0-104-generic is not configured yet.

dpkg: error processing package linux-image-generic (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic:
linux-generic depends on linux-image-generic (= 4.4.0.104.109); however:
Package linux-image-generic is not configured yet.

dpkg: error processing package linux-generic (--configure):
dependency problems - leaving unconfigured
Setting up docker (1.5-1) ...
No apport report written because the error message indicates its a followup error from a previous failure.
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
linux-image-extra-4.4.0-104-generic
linux-image-generic
linux-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)

upgradeしようとしたら、下記のエラーを見たことがないでしょうか。

update-initramfs: Generating /boot/initrd.img-4.4.0-104-generic
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.4.0-104-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
Processing triggers for ca-certificates (20170717~16.04.1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...

done.
done.
Errors were encountered while processing:
linux-image-extra-4.4.0-104-generic
linux-image-generic
linux-generic
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

ディスクの容量を調べてみると、エラーメッセージの通り、原因は/bootパーティションの使用率は100%になってしまったからなのです。

sudo df -h /boot

boot-full.png

/boot中のファイル一覧を取得してみると:

sudo ls -lh /boot

kernel-redundant.png

カーネルたくさん残されていることがわかりました。 現在使用中のカーネルを残すだけで十分ですので、掃除しましょう!

解決方法

現在使用中のカーネルの確認

uname -r

kernel-inuse.png

削除

削除の方法は2つあります。

  1. 方法1:直接削除してから、autoremoveでクリアしてもらう;

    !!削除のワーニングが出ないのでご注意ください!!!一つづつ削除してもかまいません。

    ls /boot/ | grep 'generic$' | grep -v '4.4.0-104-generic$' | sudo xargs rm -f
    sudo apt-get autoremove --purge
  2. 方法2:removeコマンドで削除する;

    sudo dpkg --get-selections | grep linux-
    sudo apt-get autoremove --purge linux-image-4.4.0-{89,90,101,102,103}

削除完了したら容量再確認

sudo df -h /boot

それでupgradeしてみたら無事にできるようになりました!

sudo apt-get upgrade

Blog part of ThunderMiracle.com