學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

Linux對(duì)模塊操作有哪些命令詳細(xì)教程

時(shí)間: 加城1195 分享

  Linux對(duì)模塊操作是很重要的部分,包括加載,更新查看模塊等,具體有哪些命令呢。下面由學(xué)習(xí)啦小編為大家整理了linux的模塊操作命令的相關(guān)知識(shí),希望對(duì)大家有幫助!

  linux的模塊操作命令詳解

  linux模塊操作命令1、列出系統(tǒng)中所有已經(jīng)加載的模塊的大小與名稱(chēng)等

  lsmod或者cat/proc /modules

  ty@tonylinux:~$lsmodModuleSizeUsedbyrfcomm402160l2cap262445rfcommbluetooth500204rfcomm,l2capppdev92200radeon1160001........ty@tonylinux:~$cat/proc/modulesrfcomm402160-ive0xf8dee000l2cap262445rfcomm,Live0xf8DB2000bluetooth500204rfcomm,l2cap,Live0xf8dc2000ppdev92200-Live0xf8d88000.........

  linux模塊操作命令2、modprobe掛載新模塊以及新模塊相依賴(lài)的模塊

  modprobe我們常用的功能就是掛載模塊,在掛載某個(gè)內(nèi)核模塊的同時(shí),這個(gè)模塊所依賴(lài)的模塊也被同時(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模塊操作命令3、modinfo查看模塊信息

  modinfo可以查看模塊的信息,通過(guò)查看模塊信息來(lái)判定這個(gè)模塊的用途。

  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)建模塊依賴(lài)關(guān)系的列表

  這個(gè)模塊管理工具是創(chuàng)建模塊依賴(lài)關(guān)系的列表,有幾個(gè)參數(shù)我們注意一下就行了,目前的的Linux發(fā)行版所用的內(nèi)核是2.6x版本,是自動(dòng)解決依賴(lài)關(guān)系,所以這個(gè)命令知道就行了;

  模塊之前也有依賴(lài)關(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依賴(lài)的模塊是scsi模塊,所以我們要用usb-storage的模塊,也得把scsi安裝該命令為 modules.dep文件或映射文件創(chuàng)建依賴(lài)關(guān)系,modules.dep文件位于/lib/modules/2.6.15-27-i386;這是我的電腦的目錄文件。

  linux模塊操作命令6、insmod掛載模塊

  insmod 這個(gè)工具,和modprobe有點(diǎn)類(lèi)似,但功能上沒(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ā)行類(lèi)似的一行;通過(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)目錄.

  相關(guān)閱讀:Linux系統(tǒng)常見(jiàn)故障現(xiàn)象

  1. MBR中g(shù)rub損壞,1_5階段的數(shù)據(jù)損壞,2階段的grub損壞

  2. initramfs*.img文件損壞,內(nèi)核文件損壞

  3. /boot/grub/grub.conf文件丟失

  4. /etc/fstab丟失,無(wú)法掛載根等文件系統(tǒng)

  5. /boot 目錄全部的文件丟失

  6. root密碼忘記

  7. 為grub設(shè)置密碼,開(kāi)機(jī)時(shí)生效,保護(hù)root密碼被惡意修改等

  二、常見(jiàn)故障的分析解決:

  1. 1階段和1_5階段出問(wèn)題時(shí)會(huì)開(kāi)機(jī)執(zhí)行完BIOS自檢后直接報(bào)錯(cuò)

  2. 前面兩個(gè)階段順利通過(guò),到了執(zhí)行/boot/ 下面的第二個(gè)階段時(shí)的程序調(diào)用/boot/grub/grub.conf 時(shí)文件丟失或者/boot/下內(nèi)核文件和initramfs*.img 文件丟失都會(huì)造成卡在第二個(gè)階段:丟失initramfs文件時(shí)會(huì)在過(guò)了開(kāi)機(jī)選擇內(nèi)核啟動(dòng)之后卡住不動(dòng),沒(méi)有任何提示(在/boot/grub /grub.conf 配置文件中定義了timeout時(shí)間,會(huì)過(guò)了倒計(jì)時(shí),然后沒(méi)有任何提示)如果是丟失grub.conf 是會(huì)進(jìn)入grub>提示符由管理員指定內(nèi)核文件和initramfs文件位置

  3. /etc/fstab丟失:

  系統(tǒng)可以開(kāi)機(jī),但是開(kāi)機(jī)時(shí)會(huì)卡好長(zhǎng)時(shí)間,因?yàn)樵S多服務(wù)等待超時(shí)無(wú)法啟動(dòng),此時(shí)磁盤(pán)按照默認(rèn)以只讀掛載根,這個(gè)掛載是在開(kāi)機(jī)時(shí)掛載的,因?yàn)闆](méi)有fstab文件所以無(wú)法重新掛載根文件系統(tǒng)以及其他的系統(tǒng),沒(méi)有運(yùn)行級(jí)別

  4. 為grub設(shè)置了密碼會(huì)在開(kāi)機(jī)進(jìn)入內(nèi)核啟動(dòng)時(shí),想要修改grub和內(nèi)核的參數(shù)或者進(jìn)入系統(tǒng)時(shí)需要輸入密碼,當(dāng)然忘記這樣的密碼也只能使用光盤(pán)引導(dǎo)進(jìn)入救援模式修改配置文件/etc/grub/grub.conf 把相應(yīng)的密碼行刪除即可。

3996345