我正在 CentOS 7 上工作。 udev 規則如下:
KERNEL=="sr1", SUBSYSTEM=="block", ACTION=="change", ENV{ID_CROM_CD}=="1", ENV{DEVTYPE}=="1", RUN+="/bin/systemctl restart cd-mount@%k.service"
該服務配置如下:
[Unit]
Description=Mount CD drive on %i
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/local/bin/cd-mount.sh %i
ExecStop=/usr/local/bin/cd-mount.sh %i
由於某種原因,我的 udev 規則被呼叫了兩次。這很煩人,因為我正在安裝 CD-ROM,因此出現錯誤。我怎樣才能編寫我的規則,使其僅被調用一次?
編輯:我已經更改了我的 udev 規則,現在該服務僅重新啟動一次。 udev 規則如下所示:
KERNEL=="sr[0-1]", SUBSYSTEM=="block", ACTION=="change", ENV{ID_CROM_CD}=="1", ENV{DEVTYPE}=="disk", ENV{ID_FS_TYPE}=="udf" RUN+="/bin/systemctl restart cd-mount@%k.service"
還剩下一個問題。只有在使用「彈出」指令時,此規則才會偵測到另一張 CD 的插入。當我按下彈出按鈕時,什麼也沒有發生。有人知道為什麼嗎?