FreeBSD パーテェション方法 ― 2007年05月14日 15時22分09秒
FreeBSD のシステムを構成する上で、三構成が一番理に叶っていると思う。
% df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad0s3a 507630 231666 235354 50% /
devfs 1 1 0 100% /dev
/dev/ad0s3d 3045006 1812004 989402 65% /usr
/dev/ad0s3e 5580210 3721004 1412790 72% /ports
/ports/db/pkg 5580210 3721004 1412790 72% /var/db/pkg
/ports/X11R6 5580210 3721004 1412790 72% /usr/X11R6
/ports/local 5580210 3721004 1412790 72% /usr/local
/ports/compat 5580210 3721004 1412790 72% /usr/compat
まずは、ルートパーティション。ad0s3a がある。そして、/usr 以下を置く ad0s3d。そして、ports を置く、ad0s3e。
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s3b none swap sw 0 0
/dev/ad0s3a / ufs rw 1 1
/dev/ad0s3d /usr ufs rw,noatime 2 2
/dev/ad0s3e /ports ufs rw,noatime 2 2
/ports/db/pkg /var/db/pkg nullfs rw,noatime 0 0
/ports/X11R6 /usr/X11R6 nullfs rw,noatime 0 0
/ports/local /usr/local nullfs rw,noatime 0 0
/ports/compat /usr/compat nullfs rw,noatime 0 0
ルートファイルシステムには /etc を始め、/var など、個々に固有の情報や、データベースなどのデータが色々と保持されている。それを独立させるために、まずこれが一つのパーティションとなる。
そして、/usr。こちらには、FreeBSD のベースシステムによって作られた物のみが入る。/sbin や /boot などルートパーティションに入れられるものも幾つかあるが、起動時に必要なものは別パーティションに出来ないので、FreeBSD 固有のものを完全に /usr に独立させるのは無理だ。
最後に、ports。これは言わずと知れた、ports collection が入っている。ports の更新自体が失敗することは最近は滅多に無い。しかし、API やコマンドオプションなどが変わってしまい、一部に動作しなくなるエリアスやコマンドなども時折出てくる。また、使い勝手が変わったりユーザインターフェースが変わるのも大きい。それなりの試用期間が必要となる。そこで、ports 関連を全て /ports 以下に閉じ込る。そして、そこから本来の位置へ mount_nullfs で再配置する。
このパーティションの配置にして一年以上経つが、すこぶる調子が良い。以前は ports は一度上げてしまうと、もう二度とは戻れない状態だった。portdowngrade なるものもあったが、上手には元に戻してくれない。一パーティション、または / と /usr の二パーティションの時は restore しようにも色々と問題があった。特に/var/db/pkg 以下に困ることが多かった。dump/restore も何回か繰り返していると、訳が分からなくなるのが常だった。つまり、ほぼシステム全部を入れ直す事になっていたのだ。make installworld に失敗したときも然りである。
この三構成にしてから、特に FreeBSD Base と Ports の区別が明瞭につくようになり大変重宝している。
なお、安定環境では、頻繁に ports を更新しないので、/usr/ports には mkuzip で固めたファイルを使っている。
/dev/md.uzip /usr/ports md ro,-P,-F/ports/src/ports-20060830
.uzip 0 0
このようにすると、ports の入れ換えが、mount コマンドだけで済んでしまい、入れ換えが便利なのが一つ。そして、ファイルが一つ、かつ圧縮されているので、ディスク容量も取らないし、パーティション間を移動、コピー、削除時も操作がとても速い。
コメント
トラックバック
このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2007/05/14/1506905/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。