/bin/mount 활성화된 systemd.mount에 종속성을 추가하는 방법은 무엇입니까?

/bin/mount 활성화된 systemd.mount에 종속성을 추가하는 방법은 무엇입니까?

파일 시스템을 마운트하기 전과 마운트 해제한 후에 systemd가 자동으로 프로그램을 호출하기를 원합니다 mount /mnt/test(여기에서 테스트하기 위해 실제 환경에서 기본 장치의 잠금을 해제하기 위해 cryptsetup).echo

그리고 /etc/systemd/system/stickbak-encryption.service:

[Unit]
Description=stickbak encryption
Before=mnt-test.mount
StopWhenUnneeded=true

[Service]
Type=oneshot
ExecStart=/bin/echo Unlock device.
RemainAfterExit=true
ExecStop=/bin/echo Lock device.

[Install]
RequiredBy=mnt-test.mount

그리고 /etc/fstab(일부):

/dev/$DEVICE /mnt/test auto noauto 0 0

systemctl start mnt-test.mount이는 (데몬이 다시 로드되고 서비스가 활성화된 후) 및 systemctl stop mnt-test.mount(루트로) 별도로 작동합니다.

mount /mnt/test그러나 On은 systemctl status mnt-test.mount stickbak-encryption후자의 서비스가 이고 inactive (dead), 전자가 임을 보여준다 active (mounted).

/bin/mount호출 시에도 존중되는 종속성을 어떻게 설정할 수 있나요 ? 장착된 장치의 상태 표시가 mount /mnt/test로 전환된 것으로 나타나 ExecMount=/bin/mount /dev/$DEVICE /mnt/test -t auto -o noauto므로 systemd에 분명히 알립니다.

답변1

최근에도 같은 질문을 스스로에게 물어봤지만 곧 그렇지 않다는 것을 깨달았습니다.

mount명령줄 프로그램을 사용할 때 systemd는 장치 mount읽기 /etc/fstab(또는 명령줄에서 옵션 가져오기) 및 마운트와 관련되지 않습니다. systemd 마운트 장치를 시작하면 systemd에 의해 해결되고 내부적으로 mount 시스템 호출을 사용하여 마운트를 수행합니다.

그래서 systemd는 당신이 그것을 사용할 때 개입할 방법이 없습니다 mount.

그건 그렇고, using과 systemd 사이에는 흥미로운 차이점이 있습니다. 즉, mountSystemd /etc/fstab는 파일을 구문 분석하고 사용되는 설치 단위를 생성합니다. 이렇게 하면 mount필요한 것보다 적은 수의 인수를 허용합니다.

systemd를 사용하는 경우에는 장치와 마운트 지점만 제공하면 되지만, mount파일 시스템, 옵션 등 더 많은 옵션이 필요합니다.

관련 정보