/etc/fstab은 시작 시 마운트를 바인딩할 수 없지만 mount -a를 실행하면 정상적으로 작동합니다.

/etc/fstab은 시작 시 마운트를 바인딩할 수 없지만 mount -a를 실행하면 정상적으로 작동합니다.

저는 Debian 8(Jessie)이 설치된 수정된 WD MyCloud(1세대) NAS를 실행하고 있습니다.

장치의 미묘한 차이로 인해 루트 파티션의 크기를 조정할 수 없으며 공간 확보에 어려움을 겪고 있습니다.

이 문제를 해결하기 위해 디렉터리를 기본 데이터 파티션에 /var동기화했습니다 ./usr

그런 다음 다음 줄을 추가했습니다 /etc/fstab.

/data/rootfs/var    /var    none    defaults,bind    0    0
/data/rootfs/usr    /usr    none    defaults,bind    0    0

다시 시작한 후 디렉토리 /var성공적으로마운트되었지만 /usr디렉토리아직 아님.

그런 다음 실행하면 mount -a오류가 발생하지 않고 /usr디렉터리가 올바르게 마운트됩니다.

무엇이 잘못되었나요?

답변1

systemd를 사용하는 경우 설치는 병렬로 수행됩니다(다음을 통해).fstab 항목을 마운트 단위로 동적으로 변환), 행 순서는 시스템의 이전 경험에서 예상한 대로 유지되지 않습니다.

자동으로 추측할 수 없는 알 수 없는 종속성이 있습니다. /data/설치하기 전에 설치하세요 /usr. 그것이 없으면 경쟁 조건이 발생합니다.

다음을 사용하여 의사 설치 옵션으로 종속성을 수동으로 추가해야 합니다.x-systemd.requires=. 따라서 /data마운트해야 하는 이전 마운트 지점이 다음과 같은 경우 작동하도록 해야 합니다.

/data/rootfs/var    /var    none    x-systemd.requires=/data,bind    0    0
/data/rootfs/usr    /usr    none    x-systemd.requires=/data,bind    0    0

다른 사람이 이 문제를 발견했지만 /dataNFS와 같은 원격 네트워크 파일 시스템에 대한 사용 사례인 경우 의사 마운트 옵션 _netdev(systemd에서도 인식되는 사전 시스템 옵션)을 사용해야 합니다.반품이에 대한 자동 프롬프트를 표시할 방법이 없고 이 항목이 없으면 해결 방법이 엉망이 될 수 있으므로 /data/rootfs/usr모든 것이 작동하도록 항목 에 추가되었습니다 .nonex-systemd.requires=

관련 정보