web-dev-qa-db-ja.com

schrootビルド環境のセットアップバインドマウントホームを回避する方法

FedoraやUbuntuなどの最近のLinuxディストリビューションはすべて、chroot環境を使用してビルドを作成します。ビルドを作成するときは、いくつかの特別なツールをインストールし、既存のシステムにインストールする必要があるためです。 chrootを使用すると、ホストシステムに変更を加えることを回避できます。

このようなビルド環境をセットアップするための最初のステップは、chrootを作成することです。 https://wiki.debian.org/Schroot のセットアップガイドに従っています

[wheezy-test]
description=Contains the SPICE program
aliases=test
type=directory
directory=/srv/chroot/test
users=jsmith
root-groups=root
script-config=desktop/config
personality=linux
preserve-environment=true

私のセットアップのホストでは、/ homeは/ dev/mapperにあります。 schrootが入力されると、同じホームがバインドマウントされます。これを回避する方法はありますか? chroot内で別の/ homeを使用することを好みます。

タイプをディレクトリからプレーンに変更する場合、バインディングは実行されません。ただし、これによって/ proc、/ sysなども失われます。手動でバインドマウントする必要があります。それは良い解決策ではないようです。

単純な構成変更が利用できない場合、スクリプトがtype = directory用であるという考えはありますか?おそらく、スクリプトを手動で変更します。

回答やヒントを事前に感謝します!

6
minghua

解決策は、/etc/schroot/default/fstabにあるschroot構成ファイルを編集することです。 /home /home none rw,bind 0 0の行をコメントアウトするだけです。 Xを実行する場合は、/runの行のコメントも解除する必要があります。他のすべての構成ファイルも同じ場所にあります。

8
minghua

別の解決策をお勧めします (私の前の答え) 。刑務所ごとに異なるfstabを使用できます。

Schroot confファイルを編集して、ファイルシステムテーブルファイルを指定できます。たとえば、setup.fstab=minimal/fstabの末尾に/etc/schroot/chrood.d/[your chroot's].confを追加すると、schrootは/etc/schroot/minimal/fstabに従ってファイルシステムになります。

2
Tianren Liu