Linux對模塊操作有哪些命令詳細教程
Linux對模塊操作是很重要的部分,包括加載,更新查看模塊等,具體有哪些命令呢。下面由學習啦小編為大家整理了linux的模塊操作命令的相關知識,希望對大家有幫助!
linux的模塊操作命令詳解
linux模塊操作命令1、列出系統(tǒng)中所有已經加載的模塊的大小與名稱等
lsmod或者cat/proc /modules
ty@tonylinux:~$lsmodModuleSizeUsedbyrfcomm402160l2cap262445rfcommbluetooth500204rfcomm,l2capppdev92200radeon1160001........ty@tonylinux:~$cat/proc/modulesrfcomm402160-ive0xf8dee000l2cap262445rfcomm,Live0xf8DB2000bluetooth500204rfcomm,l2cap,Live0xf8dc2000ppdev92200-Live0xf8d88000.........
linux模塊操作命令2、modprobe掛載新模塊以及新模塊相依賴的模塊
modprobe我們常用的功能就是掛載模塊,在掛載某個內核模塊的同時,這個模塊所依賴的模塊也被同時掛載;這是于insmod掛載模塊有區(qū)別的地方。當然modprobe也有列出內核所有模塊,還有移除模塊的功能;下在我們舉個例子說一說咱們常用的功能和參數(shù);
modprobe-codprobe-c可以查看modules的配置文件,比如模塊的別名是什么等;
modprobe -l 是列出內核中所有的模塊,包括已掛載和未掛載的;通過modprobe-l,我們能查看到我們所需要的模塊,然后根據(jù)我們的需要來掛載;
[root@localhostbeinan]#modprobe 模塊名 注:掛載一個模塊;
[root@localhostbeinan]#modprobe-r 模塊名 注:移除已加載的模塊,和rmmod功能相同;
linux模塊操作命令3、modinfo查看模塊信息
modinfo可以查看模塊的信息,通過查看模塊信息來判定這個模塊的用途。
ty@tonylinux:~$modinfobluetoothfilename:/lib/modules/2.6.15-27-386/kernel/net/bluetooth/bluetooth.koauthor:MaximKrasnyansky,MarcelHoltmanndescription:BluetoothCorever2.8version:2.8license:GPLalias:net-pf-31vermagic:2.6.15-27-386preempt486gcc-4.0depends:srcversion:7EE5558C84FD3DB2B68971C http://www.mscto.com
linux模塊操作命令4、rmmod移除已掛載模塊rmmod模塊名
linux模塊操作命令5、depmod創(chuàng)建模塊依賴關系的列表
這個模塊管理工具是創(chuàng)建模塊依賴關系的列表,有幾個參數(shù)我們注意一下就行了,目前的的Linux發(fā)行版所用的內核是2.6x版本,是自動解決依賴關系,所以這個命令知道就行了;
模塊之前也有依賴關系,比如我們想驅動USB移動硬盤,目前有兩種驅動,一種是udev,在內核中有,但目前不太穩(wěn)定;另一種辦法是用usb- storage驅動,而usb-storage依賴的模塊是scsi模塊,所以我們要用usb-storage的模塊,也得把scsi安裝該命令為 modules.dep文件或映射文件創(chuàng)建依賴關系,modules.dep文件位于/lib/modules/2.6.15-27-i386;這是我的電腦的目錄文件。
linux模塊操作命令6、insmod掛載模塊
insmod 這個工具,和modprobe有點類似,但功能上沒有modprobe強,modprobe在掛載模塊是不用指定模塊文件的路徑,也不用帶文件的后綴.o 或.ko;而insmod需要的是模塊的所在目錄的絕對路徑,并且一定要帶有模塊文件名后綴的(modulefile.o或 modulesfile.ko);
[root@localhostbeinan]#insmod/lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko
模塊的配置文件modules.conf或modprobe.conf 內核模塊的開機自動掛載模塊一般是位于一個配置文件,一般的Linux發(fā)行版本都有/etc/modules.conf或/etc /modprobe.conf。
(Ubuntu下的模塊配置文件是/etc/modules,其內容是:
# /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內核模塊開機自動加載文件是/etc/modprobe.conf;在這個文件中,一般是寫入模塊的加載命令或模塊的別名的定義等;
比如我們在modules.conf中可能會發(fā)行類似的一行;通過源碼編譯驅動一般是./configure;make;makeinstall,有時程序不提供./configure,我們可以make或 makeinstall,或者執(zhí)行make;makeinstall;如果不能make install,則需要我們自己復制.o或者.ko文件到/lib /modules/內核版本/kernel/目錄或/lib/modules/內核版本/kernel/drivers目錄中相應的驅動目錄.
相關閱讀:Linux系統(tǒng)常見故障現(xiàn)象
1. MBR中grub損壞,1_5階段的數(shù)據(jù)損壞,2階段的grub損壞
2. initramfs*.img文件損壞,內核文件損壞
3. /boot/grub/grub.conf文件丟失
4. /etc/fstab丟失,無法掛載根等文件系統(tǒng)
5. /boot 目錄全部的文件丟失
6. root密碼忘記
7. 為grub設置密碼,開機時生效,保護root密碼被惡意修改等
二、常見故障的分析解決:
1. 1階段和1_5階段出問題時會開機執(zhí)行完BIOS自檢后直接報錯
2. 前面兩個階段順利通過,到了執(zhí)行/boot/ 下面的第二個階段時的程序調用/boot/grub/grub.conf 時文件丟失或者/boot/下內核文件和initramfs*.img 文件丟失都會造成卡在第二個階段:丟失initramfs文件時會在過了開機選擇內核啟動之后卡住不動,沒有任何提示(在/boot/grub /grub.conf 配置文件中定義了timeout時間,會過了倒計時,然后沒有任何提示)如果是丟失grub.conf 是會進入grub>提示符由管理員指定內核文件和initramfs文件位置
3. /etc/fstab丟失:
系統(tǒng)可以開機,但是開機時會卡好長時間,因為許多服務等待超時無法啟動,此時磁盤按照默認以只讀掛載根,這個掛載是在開機時掛載的,因為沒有fstab文件所以無法重新掛載根文件系統(tǒng)以及其他的系統(tǒng),沒有運行級別
4. 為grub設置了密碼會在開機進入內核啟動時,想要修改grub和內核的參數(shù)或者進入系統(tǒng)時需要輸入密碼,當然忘記這樣的密碼也只能使用光盤引導進入救援模式修改配置文件/etc/grub/grub.conf 把相應的密碼行刪除即可。