linux的模塊操作命令
Linux是基于模塊的,因此掌握模塊操作命令是尤其重要的部分。下面由學(xué)習(xí)啦小編為大家整理了linux的模塊操作命令的相關(guān)知識(shí),希望對(duì)大家有幫助!
linux的模塊操作命令詳解
linux模塊操作命令1、列出系統(tǒng)中所有已經(jīng)加載的模塊的大小與名稱等
lsmod或者cat/proc /modules
ty@tonylinux:~$lsmodModuleSizeUsedbyrfcomm402160l2cap262445rfcommbluetooth500204rfcomm,l2capppdev92200radeon1160001........ty@tonylinux:~$cat/proc/modulesrfcomm402160-ive0xf8dee000l2cap262445rfcomm,Live0xf8DB2000bluetooth500204rfcomm,l2cap,Live0xf8dc2000ppdev92200-Live0xf8d88000.........
linux模塊操作命令2、modinfo查看模塊信息
modinfo可以查看模塊的信息,通過(guò)查看模塊信息來(lái)判定這個(gè)模塊的用途。
ty@tonylinux:~$modinfobluetoothfilename:/lib/modules/2.6.15-27-386/kernel/net/bluetooth/bluetooth.koauthor:MaximKrasnyansky<maxk@qualcomm.com>,MarcelHoltmann<marcel@holtmann.org>description:BluetoothCorever2.8version:2.8license:GPLalias:net-pf-31vermagic:2.6.15-27-386preempt486gcc-4.0depends:srcversion:7EE5558C84FD3DB2B68971C http://www.mscto.com
linux模塊操作命令3、modprobe掛載新模塊以及新模塊相依賴的模塊
modprobe我們常用的功能就是掛載模塊,在掛載某個(gè)內(nèi)核模塊的同時(shí),這個(gè)模塊所依賴的模塊也被同時(shí)掛載;這是于insmod掛載模塊有區(qū)別的地方。當(dāng)然modprobe也有列出內(nèi)核所有模塊,還有移除模塊的功能;下在我們舉個(gè)例子說(shuō)一說(shuō)咱們常用的功能和參數(shù);
modprobe-codprobe-c可以查看modules的配置文件,比如模塊的別名是什么等;
modprobe -l 是列出內(nèi)核中所有的模塊,包括已掛載和未掛載的;通過(guò)modprobe-l,我們能查看到我們所需要的模塊,然后根據(jù)我們的需要來(lái)掛載;
[root@localhostbeinan]#modprobe 模塊名 注:掛載一個(gè)模塊;
[root@localhostbeinan]#modprobe-r 模塊名 注:移除已加載的模塊,和rmmod功能相同;
linux模塊操作命令4、rmmod移除已掛載模塊rmmod模塊名
linux模塊操作命令5、depmod創(chuàng)建模塊依賴關(guān)系的列表
這個(gè)模塊管理工具是創(chuàng)建模塊依賴關(guān)系的列表,有幾個(gè)參數(shù)我們注意一下就行了,目前的的Linux發(fā)行版所用的內(nèi)核是2.6x版本,是自動(dòng)解決依賴關(guān)系,所以這個(gè)命令知道就行了;
模塊之前也有依賴關(guān)系,比如我們想驅(qū)動(dòng)USB移動(dòng)硬盤(pán),目前有兩種驅(qū)動(dòng),一種是udev,在內(nèi)核中有,但目前不太穩(wěn)定;另一種辦法是用usb- storage驅(qū)動(dòng),而usb-storage依賴的模塊是scsi模塊,所以我們要用usb-storage的模塊,也得把scsi安裝該命令為 modules.dep文件或映射文件創(chuàng)建依賴關(guān)系,modules.dep文件位于/lib/modules/2.6.15-27-i386;這是我的電腦的目錄文件。
linux模塊操作命令6、insmod掛載模塊
insmod 這個(gè)工具,和modprobe有點(diǎn)類似,但功能上沒(méi)有modprobe強(qiáng),modprobe在掛載模塊是不用指定模塊文件的路徑,也不用帶文件的后綴.o 或.ko;而insmod需要的是模塊的所在目錄的絕對(duì)路徑,并且一定要帶有模塊文件名后綴的(modulefile.o或 modulesfile.ko);
[root@localhostbeinan]#insmod/lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko
模塊的配置文件modules.conf或modprobe.conf 內(nèi)核模塊的開(kāi)機(jī)自動(dòng)掛載模塊一般是位于一個(gè)配置文件,一般的Linux發(fā)行版本都有/etc/modules.conf或/etc /modprobe.conf。
(Ubuntu下的模塊配置文件是/etc/modules,其內(nèi)容是:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lp
)
比如FedoraCore4.0內(nèi)核模塊開(kāi)機(jī)自動(dòng)加載文件是/etc/modprobe.conf;在這個(gè)文件中,一般是寫(xiě)入模塊的加載命令或模塊的別名的定義等;
比如我們?cè)趍odules.conf中可能會(huì)發(fā)行類似的一行;通過(guò)源碼編譯驅(qū)動(dòng)一般是./configure;make;makeinstall,有時(shí)程序不提供./configure,我們可以make或 makeinstall,或者執(zhí)行make;makeinstall;如果不能make install,則需要我們自己復(fù)制.o或者.ko文件到/lib /modules/內(nèi)核版本/kernel/目錄或/lib/modules/內(nèi)核版本/kernel/drivers目錄中相應(yīng)的驅(qū)動(dòng)目錄