FreeBSDでjail環境を構築してみた. 以下, 備忘録がわりのメモ.
この順に, なるべく手間をかけずに行った.
極端な話, / と同じ環境を作ればいいのだが, さすがにそれでは容量が大きくなりすぎるので,
のいずれかの方法をとる必要がある. 手間をかけたくなかったので, 今回は /usr を unionfs で共有することにした.
まずは必要なディレクトリをjail環境の/として構築する. なお, jail環境の/は, 親環境の /home/jail/test に置くことにした.
# cd /
# tar cf - bin etc root sbin var | tar xvpf - -C /home/jail/test
# cd /home/jail/test
# mkdir dev proc tmp usr
# chmod 1777 tmp
# cp -p /dev/MAKEDEV dev
# cd dev
# ./MAKEDEV jail
# mount -t procfs proc /home/jail/test/proc
/usr は unionfs にて read only mount する.
# mount -t union -o ro /usr /home/jail/test/usr
ネットワークインターフェースにaliasを割当てて, jail実行の際にそのaliasを指定してやればよい.
# ifconfig fxp0 inet alias 192.168.0.100/32
# jail /home/jail/test jailhost.domainname 192.168.0.100 /usr/sbin/sshd
ホスト名およびIPアドレスは各自設定の必要がある. このケースはsshdを実行する場合だが, 他のコマンドの場合は /usr/sbin/sshd を該当するものに変更する.
jail環境から外部/親環境へは別のコマンドでもかまわないが, これでjail環境が生きていることが確認できる. 親環境とjail環境とでhostnameが異なることが確認できる.
いつまでつづくかな? より. って, よくみてみたら 通信用語の基礎知識「宗左近」 にもこのURLのってるな. どうやら基礎らしい φ(..)
/.J より. 撤去も続くらしいが, 緊急用に採算度外視して設置というわけにもいかんのでしょうね.
なんか少ないなと思ったら, tri6がsplitしてた. ある意味, この数字がFriendChat本来のユーザ数なのだが, 逆の見方をすれば, tri6なしでもこれだけ人がいるということで, *Messages*開始時 (2000人台前半)からすると, ずいぶん人が増えたな… (^^)
どうやら, 以下の手順でできるらしい.
ここでプロンプトがでる.
以降はCD-ROMが使える場合と同じ方法で行えばいいのだが, 各RPMファイルがあるイメージをマウントするのにループバックデバイスが必要なので, mknod /dev/loop0 しておく必要がある.
なぜかrpmコマンドがない模様. 仕方ないので
# rpm2cpio rpm-4.*.rpm | cpio -id
で rpm パッケージをほどき, その rpm を使用することで解決.
*Messages* の更新情報取得には、antenna.lirs もしくは index.rdfをご利用ください。 豪傑アンテナ の LIRSからも取得可能です。