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容量は必ずチェックしようね
そして整理しようね。
これで一つ世界が安全になった