chroot 외부의 chroot에서 systemd 스크립트를 실행하시겠습니까?

chroot 외부의 chroot에서 systemd 스크립트를 실행하시겠습니까?

다른 루트를 사용하여 SystemD 서비스를 실행할 수 있습니까? 예를 들어, 병렬 배포를 설치하는 데 사용 debootstrap하고 해당 배포 내에 실행하려는 systemd 서비스가 있는 경우 이를 수행하도록 호스트 시스템에서 systemd를 구성하는 방법이 있습니까?

WorkingDirectory현재 대본에서 볼 수 있습니다 .

답변1

SystemD는 다음과 같은 방식으로 이를 지원합니다 RootDirectory.

RootDirectory=Service Manager가 실행 중인 시스템의 루트인 호스트 루트를 기준으로 하는 디렉터리 경로를 선택합니다. 시스템 호출을 통해 실행되는 프로세스의 루트 디렉터리를 설정한다 chroot(2). 이를 사용하는 경우 프로세스 바이너리와 모든 보조 파일을 chroot()감옥에서 사용할 수 있는지 확인해야 합니다. 이 매개변수를 설정하면 장치에 추가 종속성이 추가될 수 있습니다(위 참조).

MountAPIVFS=설정 PrivateUsers=과 함께 사용하면 특히 유용합니다 RootDirectory=.

APIVFS, 아마도 가장 유용할 것입니다.

부울 매개변수를 사용합니다. 켜져 있으면 단위 프로세스의 개인 마운트 네임스페이스가 생성되고 API 파일 시스템이 /proc이미 마운트되지 않은 한 여기에 마운트됩니다 /sys./dev

관련 정보