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

우분투에서:

$ 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 …

관련 정보