« ロプ ノール | Main | 携帯の機種変更 »

2004年10月21日

Gentoo Linux ディスク容量不足 対策

このサイトのサーバのディストリビューションはGentoo Linuxを採用しているのですが、Gentoo Linuxは普通のディストリビューションに比べ消費するディスクの容量が多くなります。

実はノートPCにもGentoo Linuxを入れていて、ディスク容量不足と格闘してきたのでメモ程度に格闘記録を残しておきます。

興味のある人は続きをどうぞ。

ディスク容量消費の原因として、気づいたのは大体次の3つ。


  • ccacheによるキャッシュ
  • カーネルソース
  • パッケージのソース

ccacheによるキャッシュ

最近、/(root)パーティションのディスク消費があまりに激しいので、色々原因を調べたら、ccacheという再コンパイルの際にコンパイル速度が速くなるプログラムのせいである事が分かりました。

ccacheは一度コンパイルしたものを再びコンパイルする時に、時間がかからないというもので、同じものを何度もコンパイルする時には非常に役に立ちます。
ただし、はじめてコンパイルするものについて速度が向上するというわけではないので注意。

そんなccacheですが、gentoo linuxにおいてccacheはデフォルトで、(HomeDir)/.ccache以下にキャッシュするようです。
それが原因で、/root/.ccacheに1.5Gものキャッシュが溜っていたために、/(root)パーティションのディスク容量が不足していたというわけでした。

解決法としては、環境変数CCACHE_DIRを別のディレクトリへパスを通してあげる事、もしくはccacheを使わないようにする事です。

環境変数を変更するには、以下のコマンドを打ちます(bash)

#export CCACHE_DIR="/other/dir/"

言うまでもないですが、ここで/other/dir/は別のディレクトリへのパスです。

/etc/make.confにも以下の一文を書いておくといいでしょう。

CCACHE_DIR="/other/dir/"

また、今までのキャッシュを変更後のディレクトリに移してあげましょう。
#mv /root/.ccache/* /other/dir/

これらの作業をする前とした後のdfの結果です。

する前

Filesystem Size Used Avail Use% Mounted on
/dev/hda3 2.0G 1.7G 325M 84% /

した後

Filesystem Size Used Avail Use% Mounted on
/dev/hda3 2.0G 165M 1.9G 9% /

cactiによるディスク容量のグラフも載せておきます。
Screenshot.jpg
/dev/hda3が/(root)パーティションです。

カーネルソース
Gentoo Linuxでは、新しいバージョンのカーネルがあると、emerge worldする度にカーネルソースが/usr/src/以下に溜ってきます。

カーネルソースは思っている以上にディスク容量を消費する(大体250M位)ので、古いカーネルソースや、使用していないカーネルソースは削除してしまいましょう。

今、ちょっと溜ってるカーネルソースを見たら

# ls /usr/src
linux linux-2.4.22-gentoo-r3 linux-2.4.25-gentoo linux-2.4.26-gentoo-r3 linux-2.6.3-gentoo-r1 linux-2.6.8-gentoo
linux-2.4.20-gentoo-r8 linux-2.4.22-gentoo-r4 linux-2.4.25-gentoo-r2 linux-2.4.26-gentoo-r6 linux-2.6.5-gentoo linux-2.6.8-gentoo-r1
linux-2.4.20-gentoo-r9 linux-2.4.22-gentoo-r7 linux-2.4.25-gentoo-r3 linux-2.4.26-gentoo-r9 linux-2.6.5-gentoo-r1 linux-2.6.8-gentoo-r2
linux-2.4.22 linux-2.4.23 linux-2.4.25-gentoo-r4 linux-2.4.27 linux-2.6.7-gentoo-r11 linux-2.6.8-gentoo-r3
linux-2.4.22-gentoo-r2 linux-2.4.25 linux-2.4.26 linux-2.6.3-gentoo linux-2.6.7-gentoo-r6 linux-2.6.8-gentoo-r7

こんなに溜ってました。

で、容量はというと、

# du -sh /usr/src/
5.8G /usr/src/

カーネルソースにこれだけ消費されたら、ディスクスペースも無くなるわ!ということで必要無いものは消しましょう。

パッケージソース
最後に、Gentoo Linuxは全てソースからインストールするのが基本のディストリビューションということで、ディスク容量にシビアな場合は、いらないパッケージのソースを削除したいと思う人もいるでしょう。

パッケージのソースは、/usr/portage/distfiles/以下に存在します。
ここにあるものは全てemerge コマンドでインストールした際にダウンロードしたものなので、消してしまっても再びインストールする時にダウンロードします。
なので、ネットワークが極端に遅いとかいう人でなければ、消しても問題ないはずです。(gentoo的にはサーバへのトラフィックが増える原因になるので推奨されないでしょうけど。。)

#rm /usr/portage/distfiles/*

これで、ディスク容量が大分空いたはずです。

Posted by shogo at 2004年10月21日 23:15

Trackback Pings

TrackBack URL for this entry:
http://shogokatsurada.dyndns.org/~shogo/cgi-bin/mt/mt-tb.cgi/176

Comments

計算機班ってやっぱりすごいですね!
そのくらいPC使えたらきっと楽しいでしょうね。
僕は来年からはきっとWindowsしか使わなくなるのでしょうね。

Posted by: hisashi at 2004年10月22日 22:19

すごくないです。。
>僕は来年からはきっとWindowsしか使わなくなるのでしょうね。
んな事ないでしょ?
なんだかんだ言って触ってるんだよ。
多分、ね。

Posted by: shogo at 2004年10月22日 22:44

全然関係ないコメントで悪いんだが、mt復活しました~
今度は当分切らないつもりなんでリンクよろしく^^

今回の鯖は本格的に(?)ファイル鯖としても使っていきたいから俺はHDD増設する予定
あ、こういう事すると電源落とさなきゃいけないのね。。

ズラさん相変わらず難しそうなことしてますね。。

Posted by: yusuke@cafenero at 2004年10月23日 03:15

おーそうか、よかったなー。
>相変わらず難しそうなことしてますね。。
いや、別に。

Posted by: shogo at 2004年10月25日 09:05

Post a comment




Remember Me?