udev 규칙으로 인해 "읽기 전용 파일 시스템" 오류가 발생합니다.

udev 규칙으로 인해 "읽기 전용 파일 시스템" 오류가 발생합니다.

일부 특정 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

나는 두 가지 가능성을 본다:

  1. systemd-udevd프로세스는 루트 파일 시스템이 읽기-쓰기로 다시 마운트되어 읽기 전용으로 처리되기 전에 시작됩니다.
  2. 프로세스 systemd-udevd는 일부 보안 메커니즘에 의해 바인딩됩니다. Ubuntu의 경우 AppArmor입니다.

그러나 수동 재부팅 후에 작동한다는 사실은 udev첫 번째 가능성을 강력하게 시사합니다. usb-mount.sh다음 명령을 사용하여 rootfs 읽기 및 쓰기를 다시 마운트 하려고 합니다 .

mount -o remount,rw /

관련 정보