とうぜん伝統のchrootコマンドは存在しますが、 それをwrapするschrootパッケージなど便利なものが初めからあるので、 そちらを使うべきでしょう。 今となってはdockerでいいのでは?と反論されそうですが、 低スペックのマシンだと、やはりchrootのほうが軽い印象です

schroot をインストールする

$ sudo apt-get install schroot debootstrap

schrootのカスタマイズ

/etc/schroot/chroot.d/環境名
/etc/schroot/プロファイル
  • プロファイルの部分は初めから用意されている default や desktop を使っても良いが、 母艦側の /home などもマウントされてしまったり、なんか違うので、自分でカスタマイズするべきですね

操作

[設定情報を出力する]
# schroot -i -c 環境名

[セッションをスタートする。
 返り値としてセッションIDが出力されるのでメモること。あとでIDを使うから]
# schroot -b -c 環境名

[セッション内でコマンドを実行する]
# schroot -r -c セッションID -- コマンド

[セッションを停止する]
# schroot -e -c セッションID

FIX

wikiいわく、chroot内のischrootをダミースクリプトに入れ替えるべきらしいです

dpkg-divert --divert /usr/bin/ischroot.debianutils --rename /usr/bin/ischroot
ln -s /bin/true /usr/bin/ischroot

chroot側でデーモンを起動したくない場合

デフォルトではデーモンが起動します(/etc/schroot/setup.d/70services が起動させます)が、 単にビルド試験をしたいといった理由でchroot環境を作る場合デーモンは不要でしょう。 chroot環境に、ダミーの profile-rc.d を作成してください。 詳しくは wiki

[/srv/chroot/debian以下がchroot環境の場合]

# cd /srv/chroot/debian
# cat > ./usr/sbin/policy-rc.d <<EOF
#!/bin/sh
exit 101
EOF
chmod a+x ./usr/sbin/policy-rc.d

参考文献