
Samba 및 Netatalk(AFP)를 통해 외부 드라이브를 공유하도록 파일 서버를 설정했습니다. 에 드라이브를 자동으로 마운트하는 fstab 항목이 있는데 /mnt/external
, 이 항목은 다양한 데몬에 의해 자동으로 공유됩니다.
문제는 드라이브가 제대로 마운트되지 않는 경우입니다(예: 드라이브를 켜는 것을 잊었거나 그날 회사에 가져간 경우). 이 경우 해당 드라이브가 연결되지 않은 채 마운트 지점이 공유되어 완전한 실패가 아닌 다양한 메타 파일이 내 마운트 지점에 기록됩니다. 이렇게 하면 다음에 드라이브를 연결할 때(비어 있지 않은 디렉터리) 드라이브가 올바르게 마운트되지 않고, 그 동안 누군가가 공유를 사용하면 데이터가 손실될 수 있습니다.
드라이브가 마운트 해제된 경우 공유가 실패하도록 하는 방법이 있습니까?
답변1
원래 마운트 폴더 속성을 설정하여 다음과 같이 만들 수 있습니다 immutable
.
chattr +i /mnt/external
이제 폴더가 잠겼으며 폴더에 대한 모든 작업이 금지되었습니다( 를 사용하여 잠금을 해제할 수 있음 -i
). 그러나 mount
여전히 fstab
제대로 작동합니다.
실행하기 전에 드라이브가 마운트되어 있지 않은지 확인하십시오 chattr
. 오류가 발생하면 "Inappropriate ioctl for device While reading flags"
폴더의 속성을 지원하지 않는 파일 시스템에서 작업 중일 수 있습니다. 실제로 일부 Linux 배포판 overlayfs
은 ext
. 따라서 chattr
폴더 작업을 시작하려면 다른 곳에 수동으로 마운트해야 합니다 ( mount /dev/mmcblk0p3 /mnt/temp
예: chattr +i /mnt/temp/root/mnt/external
).