落穂拾い

Gleanings in my life

emerge-webrsync

2006年02月08日 14時35分03秒 | Linux
Gentoo Linux のportageをアップデートするために普段は

emerge sync

を実行する。が、これがファイアウォールの関係などで実行できない場合がある。そういうときには

emerge-webrsync

を実行する。これは巨大なportageのtreeを一つの tar.bz2 ファイルにまとめたものをダウンロードし(名前からしておそらくhttp経由でのダウンロードなのかな)、それを展開後、portageをアップデートするというコマンドだ。

この emerge-webrsync がここのところ実行できなくなった。理由は「デバイスに空きがありません」とのこと。通常、/var/tmp を使って処理するので /var が溢れてしまったという意味だ。

ところが /var の容量を見るとまだまだ余裕がある。400MB以上も空きがあるのに一杯だという。試しに /var で空ファイルを作ってみる。

cd /var
touch hoge

するとやっぱりファイルが作成できない。
/var/tmp の中のファイルを一つ消して、touch hoge をするとファイルが作成できる。が、大きなファイルを消しても0byteのファイルさえ一つしか作成できない。

どうやら、容量的にはまだまだ余裕があるのだが、ファイル数の上限に到達して、これ以上ファイルが作成できないらしい。そこでダウンロードしてきた portage のアーカイブ内のファイル数を調べてみる。その数、13万個強。すげー量だ。i-node数が不足してしまうのも無理がないかもしれない。

というわけで、/var に作成できるファイル数の上限を変更しようと思ったが、mke2fsのマニュアルを見ると、「上限は変更できない」とのこと。まったくもってもぅ…。

とりあえず /etc/make.conf の中で PORTAGE_TMPDIR を宣言して、急場を凌ぐことにする。う~ん、なんか使いにくいなあ。

コメントを投稿