chroot環境のユーザ用にdev,procをmountする

何か今更だけど。ふと思い立ったので。


chrootの最低限の環境だと、/procがないからプロセスが見えないっていう。なのでmountで--bindすれば、同じ内容のファイルを2つの場所からアクセス可能にしてあげる。

# mount --bind /proc /chroot/proc
# mount --bind /dev  /chroot/dev

symlinkはファイル名を辿っていくだけなのでchrootから上のディレクトリには移動できないのでダメ。

自動起動

上のコマンドをrc.localとかに書いておくか、/etc/fstabにbindオプションを指定しとく。

  • /etc/fstab
/proc   /chroot/proc  proc  bind  0 0

/dev/{null,tty,zero}とかはmount --bindしなくても、mknodやMAKEDEVで直接作ってもいいけど。まるっと/dev/ごとmauntしたほうが楽っちゃあ楽。

ubuntuの場合

ここを見てると、ubuntuの場合はbindとかしなくてもproc-chroot、devpts-chrootを/etc/fstabに書いておけばいいらしいのか。