FedoraとUbuntuの他のfakechroot動作

FedoraとUbuntuの他のfakechroot動作

次のディレクトリツリー(mychroot)を検討してください。

mychroot/
├── proc
│   └── cpuinfo
└── usr
    └── bin
        └── ls

Fedora 20から:

$ fakechroot chroot ./mychroot/  /usr/bin/ls proc
cpuinfo

バージョン:

$ fakechroot --version
fakechroot version 2.9

Ubuntuから:

$ fakechroot chroot ./mychroot/  /usr/bin/ls proc

chroot 外の /proc エントリを一覧表示します。

バージョン:

$ fakechroot --version
fakechroot version 2.17.2

ここで何が起こりますか?洞察力をありがとうございます。

修正する:

行動の変化のようです。 Ubuntuに2.10をインストールしましたが、Fedora(2.9を使用)と同じ結果が出ました。

$ /usr/local/bin/fakechroot --version
fakechroot version 2.10
$ /usr/local/bin/fakechroot chroot ./mychroot  /usr/bin/ls proc
cpuinfo

提出質問上流。

答え1

Fakechrootは、特定のパスを除外するように設定できます。つまり、これらのパスは(偽)chrootの内側と外側の同じ場所を参照します。これは多くのプログラムがそれに依存しているため、ディレクトリなどのディレクトリに特に/dev便利です。/proc

除外されたパスは、次の方法で定義できます。

  • 環境FAKECHROOT_EXCLUDE_PATH変数
  • およびFAKECHROOT_EXCLUDE_PATH名前付き構成ファイルの設定~/.fakechroot/etc/fakechrootCOMMAND.env注文するfakechroot(eg)によって呼び出されるコマンドchroot.env

/proc環境、または経由で~/.fakechroot/chroot.envUbuntuの除外リストにあることを確認してください/etc/fakechroot/chroot.env。 Debianパッケージに、およびを/etc/fakechroot/chroot.env追加します。これをしたくない場合は、関連行をコピーして編集するか、引数を渡して他の設定ファイル(たとえば)を指定します。/dev/proc/sysFAKECHROOT_EXCLUDE_PATH/etc/fakechroot/chroot.env~/.fakechroot/chroot.env-efakechroot -e /dev/null chroot …

関連情報