概要
* Raspbianで/lib/modules以下が肥大していた
* 不要なfilesの削除で8GB → 230MBにダイエット成功
* rpi-updateを頻繁にする人は気をつけよう
本編
Raspberry Pi 3 model Bで32GB (≒29.8GiB)のUSB flash memoryを使っているのだが、妙に使用量が多い気がしていた。DE (GNOMEとかKDEとか)をinstallしている訳でもないのに、30GiBのおおよそ半分程度が消費されている。
経験則に過ぎないが、Debian系distributionをCLI環境のみでinstallした場合は2〜3GB程度が良い所だ。そこにちょっと容量を食うdevelopment関連のpackageとか、gitのrepositoryのcloneとかを入れても5〜6GBぐらいだろう。
最初はBME280で取っているlogが消費しているのかとも思っていたのだが、それらをNASに移動しても容量にほぼ変化がなかった。
% sudo du -hc . | sort -h
...
8.0G /lib/modules
8.1G /lib
13G /
13G total
プログラム開発の格言に「何処で時間を消費しているのか計測しないうちから最適化するな」という意味合いの言葉があるけど正にその通り。思い込みって怖いな。
さて、/lib/modules以下に何があるのか?
% ls /lib/modules
...
drwxr-xr-x 3 root root 4.0K May 18 20:54 4.19.42+/
drwxr-xr-x 3 root root 4.0K May 18 20:54 4.19.42-v7+/
とまぁ、こんな感じで過去から現在最新版に至るまでのkernel modulesを収めたdirectoriesがある。古いのは4.9.Xとか4.14.Xなんてのがずらりと並んでいた。
1つのversionに対応するpairで100MiBちょっとあるので、うっかり消し忘れていると膨大な領域が消費され続ける (今回は8Gぐらいだったので、80弱のversionが残っていたようだ)。
なお、最新版と1つ前 (念のため)だけ残して全てrmした後は:
% du -hc /lib/modules
...
229M /lib/modules
229M total
全体で見ても:
% df -h
...
/dev/root 29G 4.5G 23G 17% /
...
rpi-updateでよくupgradeを行う方は注意されたい。