2014-11-21 32 views
0

我有以下問題,我的Linux主板: 我的USB媒體設備,每次安裝不同的設備中的/ dev /文件夾:udev的USB每次不同的路徑

我第一次連接USB時,顯示爲

對等

/dev/sdc1 

所以:

/dev/sdb1 

然後,我刪除USB和重新插上它得到不同的名稱。

我希望它有固定的名字始終,所以我寫了以下udev規則:

SUBSYSTEM=="block",ENV{ID_SERIAL}==" serial id ",NAME="myusbmedia" 

此規則不起作用。我可以有符號名稱與以下規則:

SUBSYSTEM=="block",ENV{ID_SERIAL}==" serial id ",SYMLINK="myusbmedia" 

這條規則的作品,但它並沒有解決問題,因爲USB仍然得到的/ dev /標清[B,C,d,...]名。 ..

有沒有人有一個想法如何使USB出現在相同的設備節點/ dev /同名下?

+0

有我可以告訴(因爲我有同樣的問題EM Debia/Ubunto)USB設備不會總是在每次重新啓動時以相同的方式枚舉。防止這種情況(workarround)的最好方法是使用udev規則創建符號鏈接......就像您上面所做的一樣! – CrazyMenConnected 2014-11-21 14:00:23

+0

每次重新啓動時,設備的名稱都是相同的 - sdb1。但是在第二次附加usb-sdc1,third-sdd1等時Symlink不是解決方案,我想更改節點的名稱。 – user3610796 2014-11-21 15:29:46

回答

0

當你連接你的設備時,我假設你使用mount來處理它的文件。 在斷開驅動器連接之前,應使用umount命令卸載驅動器,然後它應保持與/ dev文件夾中的設備相同。

例如:

umount /dev/sdc1 
+0

不,我沒有明確地調用umount,我希望它在移除usbstick時自動完成 – user3610796 2014-11-24 09:43:14

0

問題是無法解決的,至少使用udev的。設備節點由內核創建,而不是由udev創建。所以你需要修改內核。

從手冊頁的udev(7):

The following keys can get values assigned: 
     NAME 
      The name to use for a network interface. The name of a device 
      node cannot be changed by udev, only additional symlinks 
      can be created. 

參見http://lists.kernelnewbies.org/pipermail/kernelnewbies/2015-April/013889.html

在這個方向的東西已經提出的內核,但沒有被接受爲主流Linux http://thread.gmane.org/gmane.linux.scsi/70947