No space left on device
問題
gem ライブラリを幾つかまとめて update したところ
No space left on device
というメッセージが表示され、update は失敗した。
調査
メッセージの内容を見る限り HD の容量が足りなくなったのかと思い、df コマンドを打つも、特に異常なし。
% df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/surly-root 7.3G 4.7G 2.2G 68% / none 114M 180K 114M 1% /dev none 121M 0 121M 0% /dev/shm none 121M 44K 121M 1% /var/run none 121M 0 121M 0% /var/lock /dev/sda1 228M 21M 196M 10% /boot
調べると、容量だけでなく i-node が一杯になってしまった場合にも、表示されるメッセージということがわかった。 df コマンドに i オプションを付けることで i-node の使用量がわかる。
% df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/surly-root 482384 482384 0 100% / none 29035 671 28364 3% /dev none 30816 1 30815 1% /dev/shm none 30816 19 30797 1% /var/run none 30816 3 30813 1% /var/lock /dev/sda1 124496 214 124282 1% /boot
満タンです。
解決
いらないファイルを消す。
考察
このマシンでファイルが大幅に増える契機はシステム的なものを除けば、gem のインストールや、github から参考にしたいコードを clone したときが多いと思う。
とりあえず gem のインストール時に no-ri no-doc オプションを付けて、ri や rdoc ファイルが作成されないようにしよう。
no-ri no-doc
~/.gemrc を編集。
gem: --no-ri --no-rdoc
...そんな変らないよな。