transmission-daemon
서비스로 실행하는 데비안 확장 기능이 있습니다 .
토렌트 파일을 설치에 저장합니다 /mnt/external-disk
. 디스크에 파일 시스템이 있고 ext4
이를 uuid로 매핑합니다./etc/fstab
문제는 다음과 같습니다
부팅 시 서비스가 transmission-daemon
시작되면 외부 파일 시스템이 마운트되어 있는지 확인하지 않아 해당 파일을 찾을 수 없으며 데이터 오류가 발생하고 토렌트 파일이 시드되지 않지만 서비스가 시작됩니다.
systemd
이 문제를 해결하기 위해 문서를 확인 하고 누락된 내용을 찾았습니다.
파일 섹션 의 행은 RequiresMountsFor=
아래 트리에 있습니다. 마운트 지점에 대한 경로가 포함된 해당 행을 추가한 후 문제가 사라지고 서비스가 제대로 작동했습니다. 컴퓨터를 다시 시작하면 서비스가 제대로 작동하고 파일이 시드됩니다.[Unit]
transmission-daemon.service
/lib/systemd/
/mnt/external-disk
apt-get dist-upgrade
이것은 패키지가 관련된 위치를 찾을 때까지 작동했고 그 후에는 중지되었습니다. transmission-daemon
그래서 확인해 transmission-daemon.service
보니 제가 변경한 내용이 누락되어 있었습니다.
RequiresMountsFor=
올바른 경로로 줄을 다시 추가했더니 문제가 다시 해결되었습니다 .
내 질문은: 이 수정 사항을 어떻게 지속되게 만들 수 있습니까?
답변1
이 단위를 의 단위로 재정의해야 합니다 /etc
. 가장 쉬운 방법은 다음을 사용하는 것입니다 systemctl edit
.
sudo systemctl edit transmission-daemon
편집기가 열리고 오버레이 클립을 만들 수 있습니다.
코드 조각을 재정의하면 패키지 단위에 대한 향후 변경 사항이 고려됩니다( /lib
). 참조는 패키지 단위가 되며 재정의가 맨 위에 적용됩니다. 귀하의 경우 해당 섹션과 해당 줄만 포함하는 .conf
파일 만 사용해야 합니다 . 이 작업은 적절한 위치에 파일을 생성하여 수행됩니다 ./etc/systemd/system/transmission-daemon.service.d/
RequiresMountsFor
systemctl edit
override.conf
또는 /lib/systemd/system/transmission-daemon.service
전체 셀을 복사하여 /etc/systemd/system
편집할 수 있습니다. 다시 말하지만, systemctl edit
이 문제를 해결할 수 있는 옵션이 있습니다 --full
.
"예 2. 공급업체 설정 재정의"를 찾으세요.systemd.unit
문서더 알아보기.
답변2
/etc/systemd
이를 (또는 적절한 하위 디렉토리 ) 에 복사하고 /etc/systemd
복사본을 수정하십시오.
/lib/systemd
패키징용 유닛 파일입니다. systemd(또는 이를 제공하는 패키지)가 업그레이드되면 덮어쓰게 됩니다.
/etc/systemd
자신만의 맞춤형 유닛 파일로 작업할 수 있습니다. 여기에 배치한 유닛 파일은 패키지에서 제공하는 파일을 덮어쓰며 업그레이드 시 교체되지 않습니다.