
저는 Linux와 프로그래밍이 처음입니다. 내 질문은 이것과 비슷합니다하나하지만 USB 드라이브를 자동 마운트하는 것처럼 보이는 데스크톱 [버스터 라이트] 없이 Raspberry Pi 4 헤드리스를 실행하고 있습니다. 경로를 예측할 수 있도록 새 USB 드라이브를 자동으로 마운트하는 비정상적 방법을 찾지 못했습니다. 이 RPi4에는 센서가 있으며 센서 데이터가 삽입된 모든 썸드라이브에 자동으로 저장되기를 원합니다. 주기적으로 드라이브를 분리하고 새 드라이브를 넣은 다음 집으로 돌아갈 수 있습니다. 동일한 USB 드라이브 몇 개를 재사용하는 것이 아니라 새로운 USB 드라이브를 사용할 수 있어야 합니다. 내가 하고 있는 나머지 작업은 Python에서 수행되지만 이 기능은 Python 없이도 별도로 수행할 수 있습니다. 이 솔루션은 pi 재부팅 후에도 유지되어야 합니다.
모든 사람의 도움에 감사드립니다. 나는 아주 초보이기 때문에 특히 당신이 추천하는 것에 대한 설명을 고맙게 생각합니다.
답변1
- /dev/sdX를 채우고 USB를 마운트하는 스크립트를 작성하십시오(또는 다른 검사 수행).
- USB 드라이브가 연결되면 스크립트를 실행하도록 udevd를 수정하세요.
스크립트는 다음과 같이 시작할 수 있습니다.
for i in $(ls /dev/sd* | awk -F '/' '{ print $3 }')
do
echo "Do stuff like: mkdir /mnt/$i"
done
udev를 이와 같이 구성할 수 있습니다. 적절한 값을 사용하면 /dev/usb/NAMEYOUCHOOSE에 장치가 표시됩니다.
BUS=="usb", ACTION=="add", KERNEL=="sd[a-z][0-9]*", NAME="%k", RUN+="/usr/local/sbin/YOURSCRIPT"
유용한 명령
udevadm monitor
장치를 연결하세요. 그런 다음 다음과 같은 속성을 확인하십시오.
udevadm info --path /devices/pci0000:00/0000:00:1d.7/usb1/1-4/usb_device/usbdev1.49 --attribute-walk
(다른 값을 사용해야 함)
규칙을 작성한 후 udevd가 규칙을 강제로 다시 읽도록 하세요.
udevadm control --reload-rules
장치를 다시 연결하십시오. 원하는 대로 /etc/fstab을 수정합니다.
하지만 나는 더 단순한 것을 선호합니다. /dev/disk/by-label/이 있을 수 있습니다. 따라서 미디어에 적절하게 레이블을 지정하고 fstab을 수정하세요.