新聞中心
在Linux中,每一個設(shè)備都有一個設(shè)備號,用來標識這個設(shè)備。設(shè)備號是由主設(shè)備號和次設(shè)備號組成的。主設(shè)備號用來標識設(shè)備的類型,次設(shè)備號用來標識同類型設(shè)備中的不同設(shè)備。在Linux中,設(shè)備號的使用是非常廣泛的,因為它和設(shè)備驅(qū)動程序是密不可分的關(guān)系。所以,了解對于理解Linux設(shè)備驅(qū)動程序的開發(fā)非常重要。

10余年的湘鄉(xiāng)網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整湘鄉(xiāng)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“湘鄉(xiāng)網(wǎng)站設(shè)計”,“湘鄉(xiāng)網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1. 設(shè)備號的獲取方法
在Linux中,設(shè)備號的獲取方法有兩種:靜態(tài)獲取和動態(tài)獲取。靜態(tài)獲取是在設(shè)備驅(qū)動程序代碼中指定設(shè)備號,這樣設(shè)備就固定地綁定在特定的設(shè)備號上。動態(tài)獲取是讓Linux自動分配設(shè)備號。Linux內(nèi)核支持兩種設(shè)備號自動獲取的方法,一種是udev,另一種是sysfs。我們重點介紹一下udev方法。
2. udev設(shè)備管理器
udev是Linux中用來管理設(shè)備的服務(wù),它能夠以很快的速度掃描所有設(shè)備,并自動獲取設(shè)備的相關(guān)信息。udev為Linux內(nèi)核提供了一個設(shè)備節(jié)點命名規(guī)則的框架,即為每一個設(shè)備分配一個唯一的設(shè)備節(jié)點名,并通過符號鏈接來方便用戶和應(yīng)用程序的訪問。
在udev中,主設(shè)備號用于匹配設(shè)備,次設(shè)備號用于區(qū)分相同類型的設(shè)備。udev規(guī)則文件中主設(shè)備號和次設(shè)備號需要配合使用。當新的設(shè)備入到系統(tǒng)中時,udev會自動調(diào)用系統(tǒng)中的規(guī)則文件進行設(shè)備識別和自動設(shè)備號分配。如果規(guī)則文件中不存在與之配置相匹配的規(guī)則,則udev不會為該設(shè)備分配設(shè)備號。
3. udev規(guī)則文件
udev規(guī)則文件是一組基于設(shè)備名稱、屬性、驅(qū)動程序名稱和路徑等數(shù)據(jù)來定義的規(guī)則,通過這些規(guī)則,可以確定與該規(guī)則相關(guān)聯(lián)的設(shè)備的名稱、屬性、驅(qū)動程序和權(quán)限等信息。在設(shè)備插入或刪除時,udev會根據(jù)規(guī)則文件中的定義和設(shè)備的特征來決定設(shè)備名稱。udev規(guī)則文件可以分為三個部分:
①匹配條件(match)
匹配條件是根據(jù)設(shè)備的特征來定義的,包含以下選項:
KERNEL – 定義了設(shè)備的內(nèi)核名稱。
ATTRS – 定義了設(shè)備的屬性,如設(shè)備的制造商、設(shè)備型號等。
DRIVERS – 定義了設(shè)備的驅(qū)動程序名稱。
SUBSYSTEM – 定義了設(shè)備所屬子系統(tǒng)的名稱。
②設(shè)備屬性設(shè)置(device attributes)
設(shè)備屬性設(shè)置是定義了設(shè)備節(jié)點的名稱、權(quán)限、符號鏈接等。其中,名稱屬性(NAME)和最常用的屬性之一,定義了設(shè)備節(jié)點的名稱,可使用%k變量代替KERNEL參數(shù)的值。權(quán)限屬性(MODE、OWNER、GROUP)則可以定義設(shè)備節(jié)點的權(quán)限信息。
③符號鏈接(symbolic links)
符號鏈接是在指定的目標目錄下為設(shè)備節(jié)點創(chuàng)建鏈接,這樣用戶就可以通過符號鏈接名訪問該設(shè)備。符號鏈接屬性(SYMLINK)可以定義符號鏈接的名字。
4. 設(shè)備節(jié)點文件的創(chuàng)建
當udev規(guī)則文件匹配成功后,會根據(jù)規(guī)則文件中的設(shè)備屬性設(shè)置信息創(chuàng)建設(shè)備節(jié)點文件。設(shè)備節(jié)點文件是設(shè)備驅(qū)動程序需創(chuàng)建的,它們位于/dev目錄下。
二、本文
udev方法適用于基于Linux2.6以上內(nèi)核的系統(tǒng),可以實現(xiàn)設(shè)備號的自動獲取,簡化了設(shè)備驅(qū)動程序的開發(fā)。udev規(guī)則文件中有多項匹配條件,根據(jù)匹配條件可以定義設(shè)備節(jié)點的名稱、權(quán)限、符號鏈接等屬性。udev的使用可以方便地管理各種硬件設(shè)備,提升了Linux內(nèi)核的實用性。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!
兩臺linux服務(wù)器,一臺共享存儲,但是一臺linux識別出來的是/dev/sdb,一臺識別出來的是/dev/sdc,
沒辦法,linux自己認的戚純舉,特別是盤數(shù)量多的時候更麻煩,順序完全是亂的。
解高碧決辦法是LVM將盤管理起來,就不褲握會有變號的問題。
用設(shè)備號來識別硬盤是不靠罩缺帶譜的 ,設(shè)備號會隨著本機的硬盤數(shù)量變化而變化。更好的方法是依靠UUID來識別,不管硬盤拿到哪臺服務(wù)器物蘆都不會變扮或化。
ls /dev/disk/by-uuid -l
可以顯示硬盤UUID號
對 /dev/disk/by-uuid/xxxxxxxxx/dev/sdax 操作效果是一樣的
StarOS軟件打包組為您解答
一臺linux識別出來的是/dev/sdb用設(shè)備號來識別硬盤是不靠譜的
Linux下如何加載一個字符驅(qū)動的設(shè)備
在/dev下看到設(shè)備文件?
那么就要看你的程序中設(shè)備文件的創(chuàng)建是靜態(tài)的還是動態(tài)的了,如果瞎備是動態(tài)的話,應(yīng)該可以直首塵接生成,如果是靜態(tài)的(mkdir 設(shè)備名 設(shè)備類型 主設(shè)備號 次設(shè)備號)名字一定要者神禪正確 否則設(shè)備和驅(qū)動的是無法匹配的
linux自動獲取設(shè)備號的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux自動獲取設(shè)備號,Linux設(shè)備號自動獲取的方法,兩臺linux服務(wù)器,一臺共享存儲,但是一臺linux識別出來的是/dev/sdb,一臺識別出來的是/dev/sdc,,Linux下如何加載一個字符驅(qū)動的設(shè)備的信息別忘了在本站進行查找喔。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機租用。成都機房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗、開啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長,共創(chuàng)價值。
分享標題:Linux設(shè)備號自動獲取的方法(linux自動獲取設(shè)備號)
網(wǎng)頁網(wǎng)址:http://www.5511xx.com/article/cdeisse.html


咨詢
建站咨詢
