일부 특정 USB HD가 연결될 때 /media/my-disk 디렉터리를 생성하는 쉘 스크립트를 시작하는 udev 규칙을 만들었습니다. 몇 달 동안 작동했지만 재부팅 후(일부 패키지 업데이트) 드라이브를 연결할 때마다 시스템 로그에 다음 메시지가 표시됩니다.
mkdir: cannot create directory '/media/my-disk': Read-only file system
스크립트에 다음 줄을 추가했습니다.
whoami
mount
결과 :
root
usb-mount.sh: /dev/mapper/sda3_crypt on / type btrfs (ro,relatime,ssd,space_cache,subvolid=257,subvol=/@)
따라서 udev는 루트 파일 시스템을 읽기 전용으로 보는 것 같지만 sudo mount
수동으로 수행하면 읽기/쓰기로 마운트된 것으로 표시됩니다.
/dev/mapper/sda3_crypt on / type btrfs (rw,relatime,ssd,space_cache,subvolid=257,subvol=/@)
온라인으로 검색한 결과 동일한 문제를 찾았지만 해결책이 없습니다. https://www.raspberrypi.org/forums/viewtopic.php?t=210243
udev 서비스를 다시 시작하면 다음에 재부팅할 때까지 문제가 해결됩니다.
이 문제를 영구적으로 해결하려면 무엇을 확인해야 합니까?
참고: 저는 Ubuntu 18.04.1 LTS를 실행하고 있습니다.
답변1
나는 두 가지 가능성을 본다:
- 이
systemd-udevd
프로세스는 루트 파일 시스템이 읽기-쓰기로 다시 마운트되어 읽기 전용으로 처리되기 전에 시작됩니다. - 프로세스
systemd-udevd
는 일부 보안 메커니즘에 의해 바인딩됩니다. Ubuntu의 경우 AppArmor입니다.
그러나 수동 재부팅 후에 작동한다는 사실은 udev
첫 번째 가능성을 강력하게 시사합니다. usb-mount.sh
다음 명령을 사용하여 rootfs 읽기 및 쓰기를 다시 마운트 하려고 합니다 .
mount -o remount,rw /