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

...そんな変らないよな。