우리는 다음과 같은 설정을 가지고 있습니다:
- 커널이 부팅되는 읽기 전용 시스템 파티션입니다. (데비안 제시)
- 데몬으로 시작할 수 있는 추가 소프트웨어가 포함된 읽기/쓰기 파티션입니다.
- r/w 파티션의 간단한 사용자 정의 시작 스크립트가 데몬을 시작하는 데 사용됩니다. 이 스크립트는 r/o 파티션에서 systemd의 마지막 서비스로 시작됩니다.
r/o systemd와 별개로 최신 init 변형(systemd/init/initng/...)을 사용하여 r/w 파티션에서 무언가를 부팅하려면 어떻게 해야 합니까?
답변1
탑재 재정의를 사용하면 두 시작 스크립트 세트 모두에서 작업을 투명하게 수행할 수 있지만 RW 파티션에 지정된 서비스는 RO 파티션의 서비스에 영향을 미친다는 점에 유의하세요.
이 설명에서는 구체적으로 설명하기 위해 systemd
RO 파티션이 루트 파티션이고 RW 파티션이 마운트되어 있고 /rw
디렉토리
systemd
와 가 모두 포함되어 있다고 가정합니다 work
. 다음과 같이 오버레이 설치를 수행할 수 있습니다.
mount -t overlay -o lowerdir=/etc/systemd,upperdir=/rw/systemd,workdir=/rw/work overlay /etc/systemd
이는 다음에서 지정할 수 있습니다 /etc/fstab
.
# Previous fstab entries to ensure /rw is mounted
overlay /etc/systemd overlay lowerdir=/etc/systemd,upperdir=/rw/systemd,workdir=/rw/work 0 0
이 fstab
항목을 사용하면 시작 시 두 디렉터리가 병합되고 systemd
(다른 모든 항목과 함께) 시작 스크립트 세트로 표시됩니다. 시도된 쓰기는 /etc/systemd
RW 파티션으로 리디렉션됩니다.
이 방법은 특정하지 않습니다 systemd
. 이는 디렉토리의 내용에 대해 작동하는 모든 초기화 시스템에 일반화됩니다.