用什么做視頻網(wǎng)站蘇州關(guān)鍵詞優(yōu)化排名推廣
最近在折騰用樹莓派(實際上是平替香橙派orangepi zero3)搭建共享文件服務(wù)器,有一個問題很重要,如何在系統(tǒng)啟動時自動掛載USB移動硬盤。
1 使用/etc/fstab
最開始嘗試了用/etc/fstab文件下增加:"/dev/sda1 /home/orangepi/sharing ext4 defaults 0 0"的方式,結(jié)果系統(tǒng)直接起不來了,查看log后,發(fā)現(xiàn)掛載失敗了,猜想是因為系統(tǒng)啟動到讀取fstab去做掛載時,usb硬盤還沒有啟動好,所以導(dǎo)致掛載失敗。
/etc/fstab文件的每一行都遵循以下格式:
2 使用udev rule
嘗試在/etc/udev/rules.d目錄下增加99-usb-hdd.rules規(guī)則里面寫上:
KERNEL==“sda1”, ACTION==“add”, RUN+=“/usr/bin/mount /dev/sda1 /home/orangepi/sharing”
系統(tǒng)提示掛載失敗failed with exit code 32,查找資料后發(fā)現(xiàn)在新的ubuntu系統(tǒng)中,udev 服務(wù)設(shè)置的掛載命名空間是私有的,僅對該服務(wù)內(nèi)部可用,對其他服務(wù)不可訪問。ubuntu系統(tǒng)推薦先用udev rule啟動一個服務(wù),再用這個服務(wù)去做自動掛載: Start a custom systemd service from the Udev rule; the systemd service can invoke a script which can start any number of long-running processes.
嫌棄麻煩(不知道怎么用udev rule去啟動一個一個服務(wù)),沒有搞(以后再試)。
3 使用udev-media-automount
這是一個開源項目,本質(zhì)上是借udev rule 檢測到usb設(shè)備的接入與斷開事件,然后調(diào)用service里去自動掛載和卸載USB硬盤到指定目錄下,詳細見 https://github.com/Ferk/udev-media-automount
3.1 下載軟件包:
https://github.com/Ferk/udev-media-automount/archive/refs/heads/master.zip
3.2 安裝:
unzip master.zip
cd udev-media-automount-master
sudo make install
sudo udevadm control --reload-rules
sudo udevadm trigger
4 使用udevil
查找過程中,發(fā)現(xiàn)也有人推薦用udevil工具直接來做這個事情,但這個項目很久沒有更新了,不知道是不是廢棄了
4.1 安裝udevil
sudo apt install udevil
4.2 創(chuàng)建服務(wù)
sudo vi /etc/systemd/system/devmon.service
[Unit]
Description=Automounting usb drives.
After=network.target[Service]
Type=simple
User=pi
Restart=on-abort
ExecStart=/usr/bin/devmon[Install]
WantedBy=multi-user.target
4.3 開啟服務(wù)
sudo systemctl enable devmon.service
sudo systemctl start devmon.service
3.4 插入usb硬盤
可以看到如下的設(shè)備掛載
sudo df -l
斷電重啟后,掛載關(guān)系依然如此。