我是 Linux 和程式新手。我的問題與此類似一但我正在運行一個沒有桌面的 Raspberry Pi 4 headless [buster lite],它似乎會自動掛載 USB 隨身碟。我還沒有找到一種簡單的方法來自動安裝 USB 新驅動器,以便它們的路徑是可預測的。這個 RPi4 有一個感測器,我希望它會自動將感測器資料保存到插入其中的任何拇指驅動器上。我可以定期拔下驅動器並插入新驅動器,然後回家。我需要能夠使用任何新的 USB 驅動器,而不僅僅是重複使用相同的幾個。我正在做的其餘工作是在 python 上進行的,但是這個功能可以在沒有 python 的情況下單獨執行。此解決方案需要在 pi 重新啟動後繼續存在。
感謝大家的幫忙。由於我是新手,我特別感謝您對所推薦內容的解釋。
答案1
- 編寫一個腳本來填滿 /dev/sdX 並安裝 USB(或進行其他檢查)
- 修改 udevd 以在連接 USB 磁碟機時執行腳本。
該腳本可以這樣開始:
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。