ubuntuメンテで容量不足に泣いた話

何!残り容量がないのでアップグレードできないだと!
最近は容量も馬鹿にならないのか!
と馬鹿なことを考えてた。

そう、自宅のubuntuサーバ(DLNA専用仮想サーバ)を定期巡回メンテナンスしたときにそれは起きた。
馬鹿の一つ覚えの

sudo apt-get update
sudo apt-get upgrade

はい、Debian系の人はこれだけで十分でしょうw

この日は違った。

$ sudo apt-get upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
これらを直すためには 'apt-get -f install' を実行する必要があるかもしれません。
以下のパッケージには満たせない依存関係があります:
 linux-image-extra-4.2.0-36-generic : 依存: linux-image-4.2.0-36-generic しかし、インストールされていません
 linux-image-extra-4.2.0-42-generic : 依存: linux-image-4.2.0-42-generic しかし、インストールされていません
 linux-image-generic : 依存: linux-image-4.2.0-42-generic しかし、インストールされていません
                       推奨: thermald しかし、インストールされていません
E: 未解決の依存関係があります。-f オプションを試してください。

ほうほう… linux-image-extraがlinux-imageを要求しているがない。
linux-image-genericがlinux-imageがないと叫ぶ
そして、私は愛がないと叫ぶ
とな。
馬鹿の一つ覚え、言われるままapt-get -f upgradeを叩く

$ sudo apt-get -f upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
依存関係を解決しています ... 完了
アップグレードパッケージを検出しています ... 完了
以下のパッケージが新たにインストールされます:
  linux-image-4.2.0-36-generic linux-image-4.2.0-42-generic
以下のパッケージはアップグレードされます:
  apt apt-transport-https apt-utils dh-python dosfstools ifupdown init
  init-system-helpers libapt-inst1.7 libapt-pkg4.16 libc-bin libc-dev-bin
  libc6 libc6-dev libc6-i386 libexpat1 libglib2.0-0 libglib2.0-data
  libldap-2.4-2 libnuma1 libpam-systemd libpcre3 libsystemd0 libudev1 libxml2
  linux-headers-4.2.0-36 linux-headers-4.2.0-36-generic
  linux-image-extra-4.2.0-36-generic linux-libc-dev multiarch-support
  python3-distupgrade systemd systemd-sysv tzdata ubuntu-release-upgrader-core
  udev update-notifier-common wget
アップグレード: 38 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
16 個のパッケージが完全にインストールまたは削除されていません。
105 MB 中 70.0 MB のアーカイブを取得する必要があります。
この操作後に追加で 101 MB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu/ wily-updates/main libc6-dev amd64 2.21-0ubuntu4.3 [1,958 kB]

... 取得は省略 ...

取得:38 http://jp.archive.ubuntu.com/ubuntu/ wily-updates/main wget amd64 1.16.1-1ubuntu1.1 [283 kB]
70.0 MB を 7秒 で取得しました (8,826 kB/s)                                     
パッケージからテンプレートを展開しています: 100%
パッケージを事前設定しています ...
(データベースを読み込んでいます ... 現在 280615 個のファイルとディレクトリがインストールされています。)
.../libc6-dev_2.21-0ubuntu4.3_amd64.deb を展開する準備をしています ...
libc6-dev:amd64 (2.21-0ubuntu4.3) で (2.21-0ubuntu4.1 に) 上書き展開し

... libcの上書き展開 [省略] ...

libc-bin (2.21-0ubuntu4.3) のトリガを処理しています ...
(データベースを読み込んでいます ... 現在 280614 個のファイルとディレクトリがインストールされています。)
.../linux-image-4.2.0-42-generic_4.2.0-42.49_amd64.deb を展開する準備をしています ...
Done.
linux-image-4.2.0-42-generic (4.2.0-42.49) を展開しています...
dpkg: アーカイブ /var/cache/apt/archives/linux-image-4.2.0-42-generic_4.2.0-42.49_amd64.deb の処理中にエラーが発生しました (--unpack):
 './boot/vmlinuz-4.2.0-42-generic' の展開済みデータを '/boot/vmlinuz-4.2.0-42-generic.dpkg-new' にコピーできません: 書き込みに失敗しました (デバイスに空き領域がありません)
エラーメッセージはディスクフルエラーであることを示しているので、レポートは書き込まれません。
            dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.2.0-42-generic /boot/vmlinuz-4.2.0-42-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.2.0-42-generic /boot/vmlinuz-4.2.0-42-generic
.../linux-headers-4.2.0-36_4.2.0-36.42_all.deb を展開する準備をしています ...
linux-headers-4.2.0-36 (4.2.0-36.42) で (4.2.0-36.41 に) 上書き展開しています ...

... 続く ...

うだうだ出したけど、ポイントはここ

linux-image-4.2.0-42-generic (4.2.0-42.49) を展開しています...
dpkg: アーカイブ /var/cache/apt/archives/linux-image-4.2.0-42-generic_4.2.0-42.49_amd64.deb の処理中にエラーが発生しました (--unpack):
 './boot/vmlinuz-4.2.0-42-generic' の展開済みデータを '/boot/vmlinuz-4.2.0-42-generic.dpkg-new' にコピーできません: 書き込みに失敗しました (デバイスに空き領域がありません)
エラーメッセージはディスクフルエラーであることを示しているので、レポートは書き込まれません。
            dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました

デバイスに空き容量がありません?
ま、まさか!ということで調べてみましたん

$ df -h
Filesystem                    Size  Used Avail Use% Mounted on
udev                          481M     0  481M   0% /dev
tmpfs                         100M  4.7M   95M   5% /run
/dev/dm-0                     6.5G  6.1G  135M  98% /
tmpfs                         497M     0  497M   0% /dev/shm
tmpfs                         5.0M     0  5.0M   0% /run/lock
tmpfs                         497M     0  497M   0% /sys/fs/cgroup
/dev/sda1                     236M  226M     0 100% /boot
<<NFSサーバー>>:/export/movies  3.6T  1.6T  1.9T  47% /mnt/movies
<<NFSサーバー>>:/export/kura    3.6T  1.6T  1.9T  47% /mnt/musics
tmpfs                         100M     0  100M   0% /run/user/1000

ルートが心もとない… おい135MBってw
でも、要求は101MBだったので問題なしっとほかは…

/boot きれいに0MBじゃなイカ!
覗いてやる!

$ du -h /boot
du: ディレクトリ `./lost+found' を読み込めません: 許可がありません
12K	./lost+found
35K	./grub/locale
2.3M	./grub/fonts
2.1M	./grub/i386-pc
6.8M	./grub
224M	.

ふぅーすがすがしい。
直下でファイル容量が増大中か

 ls -al /boot
合計 222165
drwxr-xr-x  4 root root     3072  9月 10 09:12 .
drwxr-xr-x 24 root root     4096  5月 10 06:50 ..
-rw-------  1 root root  3740849 12月 28  2015 System.map-4.2.0-23-generic
-rw-------  1 root root  3740849  1月 18  2016 System.map-4.2.0-25-generic
-rw-------  1 root root  3743953  1月 22  2016 System.map-4.2.0-27-generic
-rw-------  1 root root  3744565  2月 26  2016 System.map-4.2.0-30-generic
-rw-------  1 root root  3744589  3月 11  2016 System.map-4.2.0-34-generic
-rw-------  1 root root  3745312  3月 16 09:45 System.map-4.2.0-35-generic
-rw-r--r--  1 root root  1312266 12月 28  2015 abi-4.2.0-23-generic
-rw-r--r--  1 root root  1312266  1月 18  2016 abi-4.2.0-25-generic
-rw-r--r--  1 root root  1312378  1月 22  2016 abi-4.2.0-27-generic
-rw-r--r--  1 root root  1312643  2月 26  2016 abi-4.2.0-30-generic
-rw-r--r--  1 root root  1312645  3月 11  2016 abi-4.2.0-34-generic
-rw-r--r--  1 root root  1313029  3月 16 09:45 abi-4.2.0-35-generic
-rw-r--r--  1 root root   184850 12月 28  2015 config-4.2.0-23-generic
-rw-r--r--  1 root root   184850  1月 18  2016 config-4.2.0-25-generic
-rw-r--r--  1 root root   184888  1月 22  2016 config-4.2.0-27-generic
-rw-r--r--  1 root root   184888  2月 26  2016 config-4.2.0-30-generic
-rw-r--r--  1 root root   184888  3月 11  2016 config-4.2.0-34-generic
-rw-r--r--  1 root root   184888  3月 16 09:45 config-4.2.0-35-generic
drwxr-xr-x  5 root root     1024  3月 15 06:47 grub
-rw-r--r--  1 root root 30732123  1月 18  2016 initrd.img-4.2.0-23-generic
-rw-r--r--  1 root root 30735040  1月 20  2016 initrd.img-4.2.0-25-generic
-rw-r--r--  1 root root 30740798  2月  2  2016 initrd.img-4.2.0-27-generic
-rw-r--r--  1 root root 30741181  2月 27  2016 initrd.img-4.2.0-30-generic
-rw-r--r--  1 root root 30742671  3月 15 06:47 initrd.img-4.2.0-34-generic
drwx------  2 root root    12288 11月  5  2015 lost+found
-rw-r--r--  1 root root   182704  8月 27  2015 memtest86+.bin
-rw-r--r--  1 root root   184380  8月 27  2015 memtest86+.elf
-rw-r--r--  1 root root   184840  8月 27  2015 memtest86+_multiboot.bin
-rw-------  1 root root  6799888 12月 28  2015 vmlinuz-4.2.0-23-generic
-rw-------  1 root root  6799888  1月 18  2016 vmlinuz-4.2.0-25-generic
-rw-------  1 root root  6805392  1月 22  2016 vmlinuz-4.2.0-27-generic
-rw-------  1 root root  6808720  2月 26  2016 vmlinuz-4.2.0-30-generic
-rw-------  1 root root  6808528  3月 11  2016 vmlinuz-4.2.0-34-generic
-rw-------  1 root root  6829104  3月 16 09:45 vmlinuz-4.2.0-35-generic

きれいだ… 馬鹿が並んでやがる
とりあえず4.2.0-23,4.2.0-25を削除する。

$ sudo rm -f /boot/*23*
$ du -h /boot
183M	.
8:/boot$ sudo rm -f /boot/*25*
$ du -h /boot
142M	.

これで、upgradeが通るようになります。

sudo apt-get -f upgrade

教訓 /boot容量は必ずチェックしようね
そして整理しようね。

これで一つ世界が安全になった


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です