[Udev]如何設定rule排除掛載 Ext'd partition

歡迎提問 debian desktop 相關問題,何謂 desktop ? 舉凡您日常生活會用到的部份,如上網 ( www 、 bbs ..) 、程式設計、繪圖...等等。 通常以 X Window 環境底下問題為主。

[Udev]如何設定rule排除掛載 Ext'd partition

文章bcswlmpke » 週一 4月 20, 2009 4:15 pm

fdisk -l 可以看出目前 device 的所有 partition 資訊,
有些 partition 是在邏輯分割區,
例如實際上有資料的 partition 為 sda1, sda5, sda6。
但是 fdisk -l 可以看到列出 sda1, sda2 (Ext'd), sda5, sda6。
此時,系統會建立一個 sda2 的空資料夾並且掛載,但其實這個資料夾內不會有任何內容。
想請問 udev 是否有辦法寫一個 rule 將 partition id 為 0x0f, System 為 Ext'd 的 partition 略過而不建立目錄並掛載呢?
bcswlmpke
可愛的小學生
可愛的小學生
 
文章: 18
註冊時間: 週五 7月 23, 2004 1:21 pm

Re: [Udev]如何設定rule排除掛載 Ext'd partition

文章darkranger » 週一 4月 20, 2009 8:05 pm

bcswlmpke 寫:此時,系統會建立一個 sda2 的空資料夾並且掛載,但其實這個資料夾內不會有任何內容。

這對我來說有點詭異,因為這不是 Linux 系統的既定行為
對於固定磁碟來說,使用者是手動編輯 fstab 或使用 mount 指令來掛載
而對於可卸除式磁碟來說,比較常見的是桌面環境的自動掛載行為
但這也是使用者可以調整的

您的敘述聽起來像是系統怎麼樣都會把邏輯分割區自動掛起來
何故?
還是,你我對於掛載的定義其實不同?
darkranger
懵懂的國中生
懵懂的國中生
 
文章: 180
註冊時間: 週一 11月 13, 2006 7:14 pm

文章bcswlmpke » 週一 4月 20, 2009 8:43 pm

Hi, darkranger:
"而對於可卸除式磁碟來說,比較常見的是桌面環境的自動掛載行為
但這也是使用者可以調整的"
=> 因為我自己安裝 udev, 自己寫一個 usb.rules, 結果遇到 partition 為 Ext'd 時不曉得要如何改寫 rule 將其排除 ^^"
bcswlmpke
可愛的小學生
可愛的小學生
 
文章: 18
註冊時間: 週五 7月 23, 2004 1:21 pm

文章darkranger » 週一 4月 20, 2009 9:18 pm

bcswlmpke 寫:=> 因為我自己安裝 udev, 自己寫一個 usb.rules, 結果遇到 partition 為 Ext'd 時不曉得要如何改寫 rule 將其排除 ^^"

既是這樣
那我就不曉得了,我只知道最近從 udev 又延伸出了一個 DeviceKit 服務
若覺得對開發有幫助,可以研究看看
darkranger
懵懂的國中生
懵懂的國中生
 
文章: 180
註冊時間: 週一 11月 13, 2006 7:14 pm

Re: [Udev]如何設定rule排除掛載 Ext'd partition

文章阿信 » 週二 4月 21, 2009 9:28 am

bcswlmpke 寫:fdisk -l 可以看出目前 device 的所有 partition 資訊,
有些 partition 是在邏輯分割區,
例如實際上有資料的 partition 為 sda1, sda5, sda6。
但是 fdisk -l 可以看到列出 sda1, sda2 (Ext'd), sda5, sda6。
此時,系統會建立一個 sda2 的空資料夾並且掛載,但其實這個資料夾內不會有任何內容。
想請問 udev 是否有辦法寫一個 rule 將 partition id 為 0x0f, System 為 Ext'd 的 partition 略過而不建立目錄並掛載呢?


Hi, 這樣的內容不知道是不是你要的

KERNEL=="sd[a-z]", NAME="%k", SYMLINK+="usb-%k", GROUP="root", OPTIONS="last_rul
SUBSYSTEMS=="usb" ACTION=="add", KERNEL=="sd[a-z][0-9]", SYMLINK+="usb-%k", GROUP="root", NAME="%k
SUBSYSTEMS=="usb" ACTION=="add", KERNEL=="sd[a-z][0-9]", RUN+="/bin/mkdir -p /mnt/usb-%k"
SUBSYSTEMS=="usb" ACTION=="add", KERNEL=="sd[a-z][0-9]", RUN+="/bin/mount -t auto /dev/%k /mnt/usb
SUBSYSTEMS=="usb" ACTION=="remove", KERNEL=="sd[a-z][0-9]", RUN+="/bin/umount -l /mnt/usb-%k"
SUBSYSTEMS=="usb" ACTION=="remove", KERNEL=="sd[a-z][0-9]", RUN+="/bin/rmdir /mnt/usb-%k", OPTIONS
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章bcswlmpke » 週二 4月 21, 2009 1:52 pm

Hi, 阿信:
您提供的 rule 似乎會把符合 sd[a-z][0-9] 的 partition 都 add / remove,
所以如果該 partition 為 partition id 0x0f (system Ext'd) 也是同樣會被 add / remove.
bcswlmpke
可愛的小學生
可愛的小學生
 
文章: 18
註冊時間: 週五 7月 23, 2004 1:21 pm

文章阿信 » 週三 4月 22, 2009 9:04 am

bcswlmpke 寫:Hi, 阿信:
您提供的 rule 似乎會把符合 sd[a-z][0-9] 的 partition 都 add / remove,
所以如果該 partition 為 partition id 0x0f (system Ext'd) 也是同樣會被 add / remove.


hi,的確是如此。不然就是透過 RUN 去執行自已的 script 來檢查partition type 是不是 0x0f 再決定是否要建立目錄。

小弟沒看到udev中能否檢查partition type的,用 udevinfo 來查似乎沒看到 ATTR 的差異。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

文章bcswlmpke » 週三 4月 22, 2009 9:41 am

hi, 阿信:
我有透過 RUN 去執行另一支程式,
那支程式裡面用 fdisk -l 去查詢 partition type,
但是因為插上 usb device 後,
fdisk -l 約要隔 4~5 秒才能查詢到資訊,
所以我才會想說是否 udev 有更好的處理方式。
bcswlmpke
可愛的小學生
可愛的小學生
 
文章: 18
註冊時間: 週五 7月 23, 2004 1:21 pm


回到 debian desktop

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客