debootstrap
설치 이미지를 실행하고 파일을 일부 수정한 다음 파일이 지원하는 디스크 이미지에 파일을 복사하여 설치 이미지를 준비하는 스크립트가 있습니다 .
이것은 작동 하지만 실제로 권한 있는 리소스가 필요하지 않기 때문에 권한 없이 스크립트를 실행할 root
수 있기를 원합니다 . 나는 다음 을 사용하여 전체 스크립트를 root
실행한다고 생각했습니다.fakeroot
debootstrap
W: Failure trying to run: chroot /tmp/tmp..... mount -t proc proc /proc
이 문제를 해결할 방법이 있나요?
답변1
일반적으로 말하면,예debootstrap
, 를 통해 루트가 아닌 사용자로 실행할 수 있지만 fakeroot
자세한 내용이 있습니다.
당신이 겪고있는 즉각적인 문제는 chroot
루트가 아닌 사용자로 사용하려고 시도하는 것입니다.fakechroot
대신 다음을 제외합니다 fakeroot
.
fakechroot fakeroot debootstrap sid /tmp/sid
나중에 발생할 수 있는 문제에는 루트가 아닌 사용자로 루프백 설치를 생성하거나 디스크 이미지 파티션 테이블을 생성하는 것이 포함됩니다.
이러한 모든 세부 사항을 하나씩 처리하는 대신 다음과 같은 debootstrap 변형을 사용하는 것이 더 쉬울 수 있습니다.다중 벨트, 언젠가 원하게 되는 경우 교차 컴파일(예: x86-64에서 armhf 이미지 생성)도 처리할 수 있습니다.
답변2
--variant=fakechroot
debootstrap에는 원하는 작업을 정확하게 수행할 수 있는 옵션이 있습니다 (참조문서).
답변3
이것chroot(2)시스템 호출에는 루트 권한, 더 정확하게는 기술적
CAP_SYS_CHROOT
능력이 필요합니다(참조:능력(7))
그래서 당신은 그것을 사용할 수 없습니다 fakeroot
(당신도 필요합니다fakechroot
등).