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 を宣言して、急場を凌ぐことにする。う~ん、なんか使いにくいなあ。
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 を宣言して、急場を凌ぐことにする。う~ん、なんか使いにくいなあ。
※コメント投稿者のブログIDはブログ作成者のみに通知されます