UDEV規則的匹配鍵和RAW的一點說明
udevadm命令可以看到具體資訊udevadm info --attribute-walk --name=/dev/sda
UDEV涉及的一些常見目錄資訊
ll /sys/class/block/
ll /dev/raw
ll /dev/mapper
ll /dev/block
ll /dev/disk/by-path
ll /dev/disk/by-id
ll /dev/disk/by-uuid
UDEV規則的匹配欄位屬性
ACTION 匹配事件的動作名,例如:add( 新增裝置 )、remove( 刪除裝置 )。
DEVPATH 匹配事件的裝置相對路徑。例如:sda的devpath是/dev/sda,sda2的devpath是/dev/sda2。
KERNEL 匹配事件的裝置名字,比如sdb,比如sd*表示任意SCSI磁碟裝置
NAME 匹配網路介面或者裝置節點的名字。NAME只有在前面的規則賦值之後才可以使用。
SYMLINK 匹配裝置節點符號鏈的名字。SYMLINK 只有在前面的規則賦值之後才可以使用。可以有多個 symlinks,只需要匹配一個。
SUBSYSTEM 匹配裝置子系統
DRIVER 匹配裝置在devpath裡的裝置驅動名稱,例如:ide-cdrom。
BUS 裝置在devpath 裡的匯流排名稱,例如:usb。
ID 裝置在 devpath 裡的識別號
ENV{key} 環境變數。ENV{MAJOR}=="8"和ENV{MINOR}=="1"表示sda1
PROGRAM 執行一個程式。如果程式成功返回, key 為 true。裝置的屬性被放在被執行程式的環境變數中,該程式的輸出為 stdout, 可以從 RESULT 這個 key 讀取。
RESULT 匹配最近一次 PROGRAM 呼叫的返回字串。它應該在 PROGRAM 之後使用。
OWNER 匹配裝置檔案的屬組
GROUP 匹配裝置檔案所在的組。
MODE 匹配裝置檔案的許可權,採用8進位制
MAJOR 表示磁碟號
MINOR 表示磁碟下面的分割槽號
UDEV規則匹配欄位屬性和可呼叫的替換運算子
$kernel, %k:裝置的核心裝置名稱,例如:sda、cdrom。
$number, %n:裝置的核心號碼,例如:sda3 的核心號碼是 3。
$devpath, %p:裝置的 devpath路徑。
$id, %b:裝置在 devpath裡的 ID 號。
$sysfs{file}, %s{file}:裝置的 sysfs裡 file 的內容。其實就是裝置的屬性值。
$env{key}, %E{key}:一個環境變數的值。
$major, %M:裝置的 major 號。
$minor %m:裝置的 minor 號。
$result, %c:PROGRAM 返回的結果。
$parent, %P:父裝置的裝置檔名。
$root, %r:udev_root的值,預設是/dev/。
$tempnode, %N:臨時裝置名。
%%:符號 % 本身。
$$:符號 $ 本身。
ENV{key}的特別說明
linux核心中表示不同的裝置是透過major 和minor number實現的,透過major和minor Number來載入相應的驅動程式。
sda和sdb的major number都是8,sda的minor number是0開始, sdb的minor number 是16開始。
ENV{major} major表示不同的裝置型別
ENV{minor} minor表示同一個裝置的的不同分割槽
ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
raw命令(以前RHEL4版本用的多,現在RHEL6用的少,不過RHEL6也是可以使用這樣的方式)
可以直接透過raw命令繫結裸裝置,不過重啟後就丟失了,需要寫在/etc/sysconfig/rawdevices檔案中如/dev/raw/raw1 /dev/sdb1
[root@localhost ~]# ll /dev/raw
總用量 0
crw-rw----. 1 root disk 162, 0 6月 23 16:58 rawctl
[root@localhost ~]# raw
Usage:
raw /dev/raw/rawN
raw /dev/raw/rawN /dev/
raw -q /dev/raw/rawN
raw -qa
[root@localhost ~]# raw /dev/raw/raw1 /dev/sdb1
/dev/raw/raw1: bound to major 8, minor 17
[root@localhost ~]# ll /dev/|grep sdb
brw-rw----. 1 root disk 8, 16 6月 23 16:59 sdb
brw-rw----. 1 root disk 8, 17 6月 23 16:59 sdb1
[root@localhost ~]# raw -qa
/dev/raw/raw1: bound to major 8, minor 17
[root@localhost ~]# raw -q /dev/raw/raw1
/dev/raw/raw1: bound to major 8, minor 17
[root@localhost ~]# ll /dev/raw
總用量 0
crw-rw----. 1 root disk 162, 1 6月 23 17:25 raw1
crw-rw----. 1 root disk 162, 0 6月 23 16:58 rawctl
[root@localhost ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
UDEV涉及的一些常見目錄資訊
ll /sys/class/block/
ll /dev/raw
ll /dev/mapper
ll /dev/block
ll /dev/disk/by-path
ll /dev/disk/by-id
ll /dev/disk/by-uuid
UDEV規則的匹配欄位屬性
ACTION 匹配事件的動作名,例如:add( 新增裝置 )、remove( 刪除裝置 )。
DEVPATH 匹配事件的裝置相對路徑。例如:sda的devpath是/dev/sda,sda2的devpath是/dev/sda2。
KERNEL 匹配事件的裝置名字,比如sdb,比如sd*表示任意SCSI磁碟裝置
NAME 匹配網路介面或者裝置節點的名字。NAME只有在前面的規則賦值之後才可以使用。
SYMLINK 匹配裝置節點符號鏈的名字。SYMLINK 只有在前面的規則賦值之後才可以使用。可以有多個 symlinks,只需要匹配一個。
SUBSYSTEM 匹配裝置子系統
DRIVER 匹配裝置在devpath裡的裝置驅動名稱,例如:ide-cdrom。
BUS 裝置在devpath 裡的匯流排名稱,例如:usb。
ID 裝置在 devpath 裡的識別號
ENV{key} 環境變數。ENV{MAJOR}=="8"和ENV{MINOR}=="1"表示sda1
PROGRAM 執行一個程式。如果程式成功返回, key 為 true。裝置的屬性被放在被執行程式的環境變數中,該程式的輸出為 stdout, 可以從 RESULT 這個 key 讀取。
RESULT 匹配最近一次 PROGRAM 呼叫的返回字串。它應該在 PROGRAM 之後使用。
OWNER 匹配裝置檔案的屬組
GROUP 匹配裝置檔案所在的組。
MODE 匹配裝置檔案的許可權,採用8進位制
MAJOR 表示磁碟號
MINOR 表示磁碟下面的分割槽號
UDEV規則匹配欄位屬性和可呼叫的替換運算子
$kernel, %k:裝置的核心裝置名稱,例如:sda、cdrom。
$number, %n:裝置的核心號碼,例如:sda3 的核心號碼是 3。
$devpath, %p:裝置的 devpath路徑。
$id, %b:裝置在 devpath裡的 ID 號。
$sysfs{file}, %s{file}:裝置的 sysfs裡 file 的內容。其實就是裝置的屬性值。
$env{key}, %E{key}:一個環境變數的值。
$major, %M:裝置的 major 號。
$minor %m:裝置的 minor 號。
$result, %c:PROGRAM 返回的結果。
$parent, %P:父裝置的裝置檔名。
$root, %r:udev_root的值,預設是/dev/。
$tempnode, %N:臨時裝置名。
%%:符號 % 本身。
$$:符號 $ 本身。
ENV{key}的特別說明
linux核心中表示不同的裝置是透過major 和minor number實現的,透過major和minor Number來載入相應的驅動程式。
sda和sdb的major number都是8,sda的minor number是0開始, sdb的minor number 是16開始。
ENV{major} major表示不同的裝置型別
ENV{minor} minor表示同一個裝置的的不同分割槽
ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
raw命令(以前RHEL4版本用的多,現在RHEL6用的少,不過RHEL6也是可以使用這樣的方式)
可以直接透過raw命令繫結裸裝置,不過重啟後就丟失了,需要寫在/etc/sysconfig/rawdevices檔案中如/dev/raw/raw1 /dev/sdb1
[root@localhost ~]# ll /dev/raw
總用量 0
crw-rw----. 1 root disk 162, 0 6月 23 16:58 rawctl
[root@localhost ~]# raw
Usage:
raw /dev/raw/rawN
raw /dev/raw/rawN /dev/
raw -q /dev/raw/rawN
raw -qa
[root@localhost ~]# raw /dev/raw/raw1 /dev/sdb1
/dev/raw/raw1: bound to major 8, minor 17
[root@localhost ~]# ll /dev/|grep sdb
brw-rw----. 1 root disk 8, 16 6月 23 16:59 sdb
brw-rw----. 1 root disk 8, 17 6月 23 16:59 sdb1
[root@localhost ~]# raw -qa
/dev/raw/raw1: bound to major 8, minor 17
[root@localhost ~]# raw -q /dev/raw/raw1
/dev/raw/raw1: bound to major 8, minor 17
[root@localhost ~]# ll /dev/raw
總用量 0
crw-rw----. 1 root disk 162, 1 6月 23 17:25 raw1
crw-rw----. 1 root disk 162, 0 6月 23 16:58 rawctl
[root@localhost ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2141179/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 退費規則說明
- 【ASM C/C++】 Makefile 規則說明ASMC++
- jpa 方法 命名規則 詳細說明
- 正則匹配規則2
- oracle10g的正則規則匹配Oracle
- nginx的location 規則匹配練習Nginx
- nginx location匹配規則Nginx
- Orace RAC安裝-Oracle Linux 5和6 ASM的UDEV SCSI規則配置-測試規則(udevtest)OracleLinuxASMdev
- 在 Linux 中如何編寫基本的 udev 規則Linuxdev
- Orace RAC安裝-Oracle Linux 5和6 ASM的UDEV SCSI規則配置OracleLinuxASMdev
- java 關於操作Collection的一點說明Java
- Nginx匹配規則練習Nginx
- modsecurity:規則例子:匹配url
- 你必須弄懂的Intent Filter匹配規則IntentFilter
- UDEV規則引數詳細解釋使用dev
- nginx location匹配及rewrite規則Nginx
- Android中的Intent Filter匹配規則介紹AndroidIntentFilter
- 區塊鏈預言機(3)關鍵點說明區塊鏈
- Nginx接收的host值會影響alias的規則匹配Nginx
- 客戶端網路配置上的一點說明客戶端
- 對rman命令report obsolete的一點說明
- 理解 Nginx 在處理請求時的匹配規則Nginx
- Activity的啟動模式及IntentFilter匹配規則總結模式IntentFilter
- php正則匹配所有違規字元PHP字元
- FCS程式日誌的關鍵字說明
- intentFiltger的匹配原則Intent
- 【java規則引擎】模擬rete演算法的網路節點以及匹配過程Java演算法
- 【FLASHBACK】關於閃回資料庫的一點說明資料庫
- 關於contraint_name的一點說明AI
- Java正規表示式的解釋說明Java
- 管理規則和基於規則的轉換——流
- 需求規格說明書
- GB28181協議中20位編碼規則說明協議
- sql trace的使用說明一SQL
- go Casbin配置檔案,以及匹配規則Go
- sift和surf演算法的一些說明演算法
- 【Linux】UDEV SCSI規則在Oracle Linux上配置ASMLinuxdevOracleASM
- 說說你對BEM規範的理解,同時舉例說明常見的CSS規範有哪些?CSS