schroot에 물건 설치

schroot에 물건 설치

chroots에 관한 질문이 있습니다. 루트 파일 트리 구조로 컴파일되고 내장된 프로그램이 있다고 가정해 보겠습니다. 예:

.
├── bin
│   └── software
├── etc
...

즉, 이것을 설치하려면 루트(/)와 병합해야 합니다. 이제 이것을 chroot에 rsync했지만 실행하려고 하면 오류 코드 127(해당 파일 없음)이 표시됩니다. 제가 해야 할 다른 일이 있나요?

답변1

당신이 쓴 내용을 내가 올바르게 해석하고 있다면 chroot가 무엇을 하는지 잘 이해하지 못한 것 같습니다. /mytemproot 디렉토리가 있고 여기에 bin, etc, sbin, foo 디렉토리가 있는 파일 시스템을 마운트하면 다음을 수행할 수 있습니다.

% cd /mytemproot
% pwd
/mytemproot
% chroot /mytemproot
% pwd
/
% ls /
bin etc sbin foo

chroot가 하는 일은 /mytemproot가 /인 것처럼 처리되는 쉘에 사용자를 넣는 것입니다. 실제 / 아래의 다른 모든 파일 시스템과 마찬가지로 실제 /는 사용자에게 보이지 않습니다. 파일 시스템을 병합하지 않습니다.

예전에는 낮은 수준의 시스템 관리자가 처음부터 각각의 새로운 UNIX 배포판을 구축할 때 새로운 디스크 파티션을 만들고 해당 파티션에 파일 시스템을 배치하고 거기에서 빌드 및 설치를 수행했습니다. 그런 다음 해당 파일 시스템을 어딘가에 마운트하고 chroot하여 사용자에게 공개하기 전에 모든 것을 확인합니다. 오늘날의 개발자들도 거의 동일한 방식으로 이를 사용한다고 상상해 보세요.

관련 정보