시스템 서비스 초기화 중에 램디스크를 생성하고 생성 후 및 "기본" 서비스 프로세스가 시작된 후에 일부 명령을 실행할 수 있는 방법이 있습니까?
기본적으로 제가 달성하고 싶은 것은 Postgres 데이터베이스(예: sudo systemctl start postgresql@13-my_db
)를 시작할 때 먼저 램디스크를 생성하고 보안 저장소에서 TLS 인증서와 개인 키를 읽는 스크립트를 실행한 다음 올바른 권한을 사용하여 해당 램디스크에 저장하는 것입니다. Postgres는 해당 램디스크에서 파일 읽기를 시작할 수 있습니다.
또한 서비스가 중지되면 시스템에 의해 램디스크가 자동으로 제거되므로 해당 파일은 사라집니다.
가능합니까? 제가 찾은 유일한 방법은 TemporaryFileSystem
함수를 사용하여 램디스크를 만든 다음 ExecStartPre
이를 사용하여 파일을 가져오는 스크립트를 실행하는 것입니다.
이것은 작동하지만 불행하게도 systemd는 호출 사이에 램디스크를 마운트 해제하는 것처럼 보이 ExecStartPre
므로 ExecStart
Postgres 데이터베이스가 시작되면 램디스크를 더 이상 사용할 수 없습니다.