delete from hateblo.jp where 1=1;

タイトルに意味はありません。

mount --bind 使える!

Apache等でmod_*を利用している場合に非常に便利。
なぜ便利なのかというと、
権限の確認などでシンボリックリンク等を扱う場合、
参照先を必ず見てしまい、サービスが実行できない等の弊害が発生する。

たとえば、mod_suexecとmod_suphpとかを使いたい場合、
suexecのヘルパーアプリケーションに示されているディレクトリ内(AP_DOC_ROOT)でしか、
CGIを稼動させることができない。

suexec -V

また、mod_suphpは*実態が*DocumentRootに無くてはならない。*1
その場合で、かつ、/var/www/以外に実態を配置したい場合は、
単純にシンボリックリンクでは対応できない。

そんなときに使えるのが--bind!

/directory/fromの内容を/directory/target_is_newから参照したい場合は以下のコマンドを発行する。

sudo mount --bind /directory/from /directory/target_is_new


先にfstabに記載して、「mount --bind /directory/from」とする手法もある。

/directory/from /directory/target_is_new none bind 0 0

時々、元は1つだけど、複数の参照をさせたい場合は、
同じ要領で記載すると良い。
ただ、umount するときに、複数の参照がある場合は、
場所を特定してumount させてあげたほうが良い。

sudo umount /directory/from /directory/target_is_new

ちなみに、df単発ではマウントポイントが出ないので、
以下のコマンドで参照してあげる。*2

df -ha
追記(2010/02/06)

ちなみに、クォータを有効にする場合は注意が必要。
理由は、クォータ設定を行うときに、一度パーティションをアンマウント(再マウント)しなくてはならないため、問題が発生することがある。
また、/sbin/quotacheckでもエラーになる可能性がある。

今はrepquota -aで一覧が取れているので、問題ないかなと思っている。
詳しい情報があったら追記します。

*1:suphp.confの設定による

*2:好みに応じて-hをはずしてください