다른 루트를 사용하여 SystemD 서비스를 실행할 수 있습니까? 예를 들어, 병렬 배포를 설치하는 데 사용 debootstrap
하고 해당 배포 내에 실행하려는 systemd 서비스가 있는 경우 이를 수행하도록 호스트 시스템에서 systemd를 구성하는 방법이 있습니까?
WorkingDirectory
현재 대본에서 볼 수 있습니다 .
답변1
SystemD는 다음과 같은 방식으로 이를 지원합니다 RootDirectory
.
RootDirectory=
Service Manager가 실행 중인 시스템의 루트인 호스트 루트를 기준으로 하는 디렉터리 경로를 선택합니다. 시스템 호출을 통해 실행되는 프로세스의 루트 디렉터리를 설정한다chroot(2)
. 이를 사용하는 경우 프로세스 바이너리와 모든 보조 파일을chroot()
감옥에서 사용할 수 있는지 확인해야 합니다. 이 매개변수를 설정하면 장치에 추가 종속성이 추가될 수 있습니다(위 참조).
MountAPIVFS=
설정PrivateUsers=
과 함께 사용하면 특히 유용합니다RootDirectory=
.
APIVFS
, 아마도 가장 유용할 것입니다.
부울 매개변수를 사용합니다. 켜져 있으면 단위 프로세스의 개인 마운트 네임스페이스가 생성되고 API 파일 시스템이
/proc
이미 마운트되지 않은 한 여기에 마운트됩니다/sys
./dev