2016年4月16日土曜日

jailに向けてnullfs/unionfs

unionfs/nullfsの両方とも既存のファイルシステムを対象のディレクトリにマウントする。

unionfsは透過的にマウントするので、マウント先にファイルがあったら、それも見える。
nullfsは透過的では無いのでマウント先にファイルがあっても見えなくなる。

でjailにむけてやりたいこととして、ホストの/usrをjailの/usrで見えるようにしたい。だけど、jailの中で/usrのファイルを変更してもホスト側の/usrに影響が出ないようにする。

出てくるディレクトリは以下
・ /usr :ホストの/usr
・ /jail/root/jail1/ :jail1のrootディレクトリ。このディレクトリをrootとしてjailを起動する。
・ /jail/base/jail1/ :jail1の中で作成されたファイルが置かれる場所

mount -t nullfs -r /usr /jail/root/jail1/usr
mount -t unionfs /jail/base/jail1/usr /jail/root/jail1/usr

1行目で、/usrはリードオンリーで/jail/root/jail1/usrにマウントされるので、/usrが変更されることは無い。
2行目で、jailの中で/usrディレクトリに変更が入ると、変更内容は/jail/base/jail1/usrの反映される。

(ちょっとすごい)
・ unionfsでマウントした先(ここではjail/root/jail1/)でファイルを消したら、マウントの元ファイルも消える。ここまでは想像とおりですが、いったんunmountして、mountしなおしをしたら、/jail/root/jail1のファイルが見えるかと思ったら、消えたままだった。
→ umountして、/jail/base/jail1でファイルの作成・削除をした後、再度mountしたらファイルが復活していました。(その前に一度root/jail1にmountしたかも)

.....
てなことをしていたら、/jail配下でrm -rf * とかしてしまい、マウントしていたファイルもすべて消してしまった。。。。
・再インストール。
・freebsd-update fetch
・freebsd-update install
・pkg install virtualbox-ose-additions
・Xorg -configure
  →できたxorg.conf.newのmouseの記載を変更。
・以下のpkgをインストール
 - 基本ツール → zsh,sudo,
 - xの起動で必要 → fvwm2,xterm
 - xでkeyboardが使えない → x86-input-keyboard
  - xでmouseが使えない
  → 特になしもしなくもmouseは動く(moused?)のだが、クリックができない。
    理由はわからないが、handbookにしたがって、xorg.confの設定や、haldの設定をして、
    vboxmouseを利用するように記載しても変わらず。
    https://www.freebsd.org/doc/en/books/handbook/virtualization-guest.html
    結局 xf86-input-mouse をインストールして使っている。たぶんvboxmouseではなく、通常のとおりの利用と思われる。
  - xクライアントが飛ばせない。単なる認証系の問題。 → xauthをインストール

0 件のコメント: