新聞中心
隨著計(jì)算機(jī)技術(shù)的發(fā)展,現(xiàn)代操作系統(tǒng)對(duì)于設(shè)備管理的需求越來越高。在Linux系統(tǒng)中,udev就是一個(gè)非常重要的設(shè)備管理工具。雖然udev的配置可能會(huì)帶來一定的挑戰(zhàn),但是深入了解和掌握udev的配置,能夠讓我們更加高效地管理設(shè)備。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、網(wǎng)站制作、龍沙網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、龍沙網(wǎng)絡(luò)營(yíng)銷、龍沙企業(yè)策劃、龍沙品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供龍沙建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
什么是udev?
udev是一個(gè)用戶空間的設(shè)備管理工具,它能夠在Linux中自動(dòng)檢測(cè)和識(shí)別設(shè)備的插拔操作,并且可以自動(dòng)為設(shè)備分配設(shè)備文件。使用udev可以使設(shè)備的管理更加容易和高效,同時(shí)也能夠減少超級(jí)用戶權(quán)限下的設(shè)備管理操作。
udev如何工作?
udev的工作流程可以簡(jiǎn)單概括為以下幾個(gè)步驟:當(dāng)設(shè)備插入時(shí),內(nèi)核會(huì)發(fā)送一個(gè)事件通知,并通過sysfs文件系統(tǒng)將設(shè)備信息發(fā)布到udev中。接著,udev會(huì)根據(jù)設(shè)備的屬性進(jìn)行匹配,然后執(zhí)行相應(yīng)的動(dòng)作,例如為設(shè)備分配設(shè)備文件、設(shè)置設(shè)備參數(shù)等。udev會(huì)將設(shè)備的操作記錄在日志中,以供后續(xù)調(diào)試和維護(hù)。
udev的配置文件
udev的配置文件位于/etc/udev/rules.d目錄下,主要包含以下兩個(gè)文件:
1. 99-custom.rules:這個(gè)文件是用戶自定義規(guī)則的存放位置,用戶可以在這里添加自己需要的規(guī)則。
2. 99-systemd.rules:這個(gè)文件是udev默認(rèn)的規(guī)則文件,通常情況下我們不需要修改這個(gè)文件。
除了以上兩個(gè)常見的配置文件外,我們還可以在/etc/udev目錄下找到兩個(gè)重要的配置文件:
1. udev.conf:這個(gè)文件用于設(shè)置udev的一些全局選項(xiàng)和默認(rèn)值。
2. rules.d/udev:這個(gè)文件是由udev安裝時(shí)默認(rèn)生成的配置文件,它包含大量的系統(tǒng)默認(rèn)規(guī)則。
配置udev規(guī)則
udev的規(guī)則是基于鍵值對(duì)進(jìn)行匹配的,每個(gè)規(guī)則都由以下四個(gè)部分組成:模式、動(dòng)作、環(huán)境變量和注釋。下面我們來具體介紹這幾個(gè)部分。
模式
模式是規(guī)則中關(guān)鍵的部分,它定義了設(shè)備的屬性,udev會(huì)匹配這些屬性來確定是否應(yīng)該執(zhí)行這個(gè)規(guī)則。模式一般由以下三個(gè)部分構(gòu)成:
1. 硬件匹配:這個(gè)部分通常指定設(shè)備的廠商ID、產(chǎn)品ID和子系統(tǒng)信息等。
2. 屬性匹配:udev可以根據(jù)設(shè)備的屬性來匹配規(guī)則。屬性通常包括設(shè)備的名稱、路徑和標(biāo)志等。
3. 條件匹配:這個(gè)部分是可選的,可以定義一些條件,例如設(shè)備是否在某個(gè)特定的目錄下等。
動(dòng)作
動(dòng)作是指當(dāng)規(guī)則匹配時(shí)要執(zhí)行的操作。常用的動(dòng)作包括:
1. 指定設(shè)備文件權(quán)限:可以使用OWNER、GROUP和MODE等選項(xiàng)指定設(shè)備文件的所有者、組和權(quán)限。
2. 執(zhí)行腳本:可以使用RUN選項(xiàng)來調(diào)用腳本進(jìn)行其他的自定義操作。
3. 創(chuàng)建符號(hào)鏈接:可以使用SYMLINK選項(xiàng)來創(chuàng)建符號(hào)鏈接,以方便操作設(shè)備。
環(huán)境變量
環(huán)境變量是規(guī)則中的可選部分,可以在規(guī)則中使用,以提供更多的信息。環(huán)境變量通常由udev在設(shè)備識(shí)別時(shí)自動(dòng)設(shè)置,并且可以被其他規(guī)則和腳本使用。常用的環(huán)境變量包括$KERNEL、$DEVPATH和$SUBSYSTEM等。
注釋
注釋通常用來幫助用戶理解規(guī)則的作用和目的。注釋使用#號(hào)表示,可以在規(guī)則的任意位置添加注釋。
示例配置
下面是一些常見的udev規(guī)則示例:
1. 為設(shè)備分配固定的設(shè)備文件
KERNEL==”sda”, SYMLINK+=”mydisk”
這個(gè)規(guī)則是根據(jù)設(shè)備的名稱為sda來創(chuàng)建一個(gè)名為mydisk的符號(hào)鏈接。
2. 限制設(shè)備權(quán)限
ATTRS{idVendor}==”09da”, ATTRS{idProduct}==”9090″, MODE=”0660″, GROUP=”audio”
這個(gè)規(guī)則的作用是限制ID為09da和9090的USB音頻設(shè)備的權(quán)限為0660,并且設(shè)置設(shè)備文件的所有者為audio組。
3. 運(yùn)行腳本
KERNEL==”sdb”, RUN+=”/usr/local/bin/script.sh”
這個(gè)規(guī)則的作用是根據(jù)設(shè)備的名稱為sdb,調(diào)用/usr/local/bin/script.sh腳本進(jìn)行其他自定義操作。
udev是Linux中非常強(qiáng)大的設(shè)備管理工具,能夠自動(dòng)檢測(cè)和識(shí)別設(shè)備的插拔操作,并且可以自動(dòng)為設(shè)備分配設(shè)備文件。雖然配置udev可能會(huì)帶來一定的挑戰(zhàn),但是深入了解和掌握udev的配置,能夠讓我們更加高效地管理設(shè)備。在實(shí)際使用中,我們可以根據(jù)具體需求編寫自己的udev規(guī)則,以達(dá)到更加靈活和高效的設(shè)備管理效果。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220linux 中 udev 是干什么的啊
早期的linux的/dev目錄下有一大堆設(shè)備文件,不管你的主機(jī)上是否有這些設(shè)備,相當(dāng)于提巖森供一個(gè)標(biāo)準(zhǔn)接口,比如 /dev/sda 一般表示 SISC 盤之一塊磁盤,但你主機(jī)上即使沒有這種磁盤,/dev/sda還是存在
于是,這就有個(gè)問題:/dev/下會(huì)有很多實(shí)際上并不需要的文件,盡管這些文件占用不了多少空間(都是一字節(jié)的大小)
后來linux只在/dev上保留一些必要的設(shè)備文件,比如 /dev/console (表示控制臺(tái))等,旅仔其它的由udev在系統(tǒng)啟動(dòng)時(shí)檢測(cè)并加載,比如 如果掃描到你有 SISC 設(shè)備(包括U盤)就在 /dev/下增加一個(gè)設(shè)備文件,比如 /dev/sda ,換句話說,有udev的前提下,/dev下的設(shè)備拆棗汪文件,就表示你的主機(jī)真的有這個(gè)設(shè)備
如何在Linux開發(fā)工具中啟動(dòng)USB驅(qū)動(dòng)程序
USB驅(qū)動(dòng)程序支持在原生Linux提供了。
方法要求啟用驅(qū)動(dòng),但是,取決于你所使用的分布和內(nèi)核版本。
哪個(gè)發(fā)行版支持USBFS?
已知提供USBFS支持:
Ubuntu 9.04或以上,
Ubuntu 9.10的內(nèi)核2.6.31-19服務(wù)器,
CentOS的4.8,
CentOS的5.4,
一般情況下,任何分布用內(nèi)核版本 = 2.6.32
方法1:USBFS支持
如果你的發(fā)行版提供了USBFS支持,那么下面的命令將工作斗弊模:
mount -t ufs none /proc/bus/u -o devmode=0666
為了使這種更改永久,確保下面一行是在/ etc / fstab文件中:
none /proc/bus/u ufs defaults,devmode=
這將自動(dòng)安裝在系統(tǒng)啟動(dòng)。
一旦 /etc/fstab添加已經(jīng)做完,一個(gè)簡(jiǎn)單的命令應(yīng)該掛載USBFS文件系統(tǒng):
mount /proc/bus/u
無論是FTDI / XTAG和XTAG-2的調(diào)試適配器空緩現(xiàn)在應(yīng)該工作。
方法2:沒有USBFS支持
為了確保在任何一個(gè)FTDI / XTAG或XTAG-2調(diào)試適配器插入時(shí)的權(quán)限是在設(shè)備上是正確的,您需要配置“udev”來識(shí)別這個(gè)設(shè)備。
創(chuàng)建一個(gè)文件“/etc/udev/rules.d/99-xmos.rules”,其內(nèi)容如下:
SUBSYSTEM!=”u|u_device”, GOTO=”xmos_rules_end”
ACTION!=”add”, GOTO=”xmos_rules_end”
# 20b1:f7d1 for xmos xtag2
ATTRS{idVendor}==”20b1″, ATTRS{idProduct}==”f7d1″, MODE=”0666″, SYMLINK+=”xtag2-%n”
# 20b1:f7d3 for xmos startkit
ATTRS{idVendor}==”20b1″, ATTRS{idProduct}==”f7d3″, MODE=”0666″, SYMLINK+=”startkit-%n”
# 0403:6010 for XC-1 with FTDI dual-uart chip
ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6010″, MODE=”0666″, SYMLINK+=”xc1-%n”
LABEL=”xmos_rules_end”
注意:本ATTRS,MODE和SYMLINK節(jié)必須全部在同一行,因?yàn)槊總€(gè)規(guī)卜清則只能在一行上。
現(xiàn)在告訴udev進(jìn)行重新加載,以確保文件添加新的規(guī)則:
service udev reload
還必須拔下并重新插上USB線,讓udev的識(shí)別設(shè)備的新規(guī)則。或者觸發(fā)重新插上的udev類型為“udevadm觸發(fā)”或“udevtrigger”命令,取決于在你的Linux分布上udev的版本。
FTDI / XTAG其他注意事項(xiàng)
FTDI的庫(kù)需要USB設(shè)備的文件都可以從/ proc /bus/ USB,不支持的/dev/bus/u作為文件的位置。
但是,如果你的發(fā)行版不支持USBFS(以上方法1),但確實(shí)有一個(gè)的/proc/bus/u空目錄,你可以使用下面的綁定mount命令的解決方法:
mount –bind /dev/bus/u /proc/bus/u
如果你的發(fā)行版不支持USBFS,也沒有一個(gè)的/proc/bus/u目錄(這是較新的內(nèi)核的情況下,大約從2.6.32開始),然后聯(lián)系XMOS的rthe設(shè)備庫(kù)的非官方補(bǔ)丁的版本; 發(fā)送XMOS的支持標(biāo)簽,其中包括“Linux的FTDI庫(kù)請(qǐng)求”的主題。
關(guān)于linux udev 配置的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設(shè)計(jì),高端小程序APP定制開發(fā),成都網(wǎng)絡(luò)營(yíng)銷推廣等一站式服務(wù)。
分享標(biāo)題:深入探索LinuxUdev配置,讓設(shè)備管理更加高效(linuxudev配置)
標(biāo)題來源:http://m.5511xx.com/article/cddsdhd.html


咨詢
建站咨詢
