Chroot/ja

Chroot (Change root) はメインシステムのrootディレクトリから論理的に分離された環境を作るために、見掛け上のrootディレクトリを変更する目的で使われるUnixシステムのユーティリティです. この新しい環境は"chroot jail(訳注:監獄)"として知られています. jailの中にいるユーザーからは閉じこめられている環境の外側にあるファイルを見ることもアクセスすることもできません.

chrootの主な使い方の一つとして、ソフトウェアの互換性やテストの為に、現在のシステムの上に、分離されたLinuxシステムを作るものがあります. ハイパーバイザーのオーバーヘッドが無いので、これはしばしば軽量な仮想化の代替としてみられます.

環境構築
新しくchroot環境を作る時にはまず、chrootして住むためのディレクトリを作る必要があります. 例えばにchrootすることを考えましょう:

既にインストールされたシステムをマウントしたい場合は、次のコマンドが使えるでしょう. 例に書かれた は実際のドライブやパーティションに合わせて書き換えてください.

もしあなたが今居るルートファイルシステムのサブディレクトリに既にシステムをインストールしてあれば、上のステップはスキップして構いません.

システムファイルとPortageツリーの展開 (新規インストール)
新しいシステムをインストール中であれば、次のステップはstage3とPortage tarballをダウンロードして正しいchrootの場所に設置することです. この手続についてのより詳しい情報は、Gentoo ハンドブックのstage tarball をダウンロードする と stage tarball を展開する をご覧ください.

設定
chrootに入る前にいくつかのディレクトリをマウントしておかなければなりません.

そして基本的な設定ファイルもホストからコピーしておく必要がありますが、既存のシステムを使っている場合はをコピーしてはいけません:

以上の作業が完了すれば、以下のコマンドで新しいchroot環境に入ることができます:

新規インストールの場合は、全てを確実に最新にするためにportageを同期してください.

これでシステムは使用可能になりました. メインのシステムに何一つ影響を与えることなく、ソフトウェアをインストールしたり、メチャクチャな設定をしたり、実験的なパッケージや設定を試したりできます. chrootから離れるには単に もしくは+と入力してください. これで操作中のコンソールはいつもの環境に戻って来ます. マウントしたディレクトリをアンマウントするのを忘れないでください.

Init スクリプト
頻繁にchrootの構築を行なうのであれば、次の init script を使うことでchrootの為のマウントを速くできます.

異なったディレクトリやパーティションを使う場合は、必要なマウントコマンドを に追加して、異なる名前を使う場合はを適切な名前に変更してください.

こちらもご覧ください

 * Chroot ガイド
 * Chrooting proxy services