導航:首頁 > 程序命令 > insmod命令作用

insmod命令作用

發布時間:2022-07-27 19:25:29

A. linux命令insmod

這個命令應該需要root許可權來執行,通常在/sbin或/usr/sbin目錄下。默認情況下,普通用戶的PATH環境變數不包含它們,所以顯示找不到。

B. linux操作系統中,載入和刪除內核模塊的命令是什麼。

modprobe命令
Linux命令:modprobe 。
功能說明:自動處理可載入模塊。
語法:modprobe [-acdlrtvV][--help][模塊文件][符號名稱 = 符號值]。
補充說明:modprobe可載入指定的個別模塊,或是載入一組相依的模塊。modprobe會根據depmod所產生的相依關系,決定要載入哪些模塊。若在載入過程中發生錯誤,在modprobe會卸載整組的模塊。

內容
1、modprobe 命令是根據depmod -a的輸出/lib/moles/version/moles.dep來載入全部的所需要模塊。
2、刪除模塊的命令是:modprobe -r filename。
3、系統啟動後,正常工作的模塊都在/proc/moles文件中列出。使用lsmod命令也可顯示相同內容。
4、在內核中有一個「Automatic kernel mole loading"功能被編譯到了內核中。當用戶嘗試打開某類型的文件時,內核會根據需要嘗試載入相應的模塊。/etc/moles.conf或 /etc/modprobe.conf文件是一個自動處理內核模塊的控制文件。
modprobe命令主要用於在Linux 2.6內核中載入和刪除Linux內核模塊。通過此命令用戶可以輕松地載入和刪除Linux內核模塊,同時使用此命令載入Linux內核模塊時,Linux內核會自動解決內核模塊之間的依賴關系,將相互依賴的模塊自動載入,如下所示:
1) 載入RAID1陣列級別模塊:
[root@rhel5 boot]# modprobe raid1

2) 顯示已載入的RAID1陣列級別模塊:
[root@rhel5 boot]# lsmod |grep raid1 raid1 25153 0

3) 刪除RAID1陣列級別模塊:
[root@rhel5 boot]# modprobe -r raid1

4) 顯示RAID1陣列級別模塊:
[root@rhel5 boot]# lsmod |grep raid1

modprobe命令在載入模塊時會自動解決依賴的模塊。當載入的模塊需依賴另一個模塊時,系統會自動將此模塊載入。而當用戶使用insmod命令載入模塊時,則不會自動解決相對應的依賴模塊。
modprobe命令中的"-r"參數表示刪除指定模塊,"-c"參數表示顯示/etc/modprobe.conf配置文件的參數,"-C"參數表示指定內核配置文件,"-f"表示覆蓋,"-l"表示顯示模塊的絕對路徑。
[root@rhel5 boot]# modprobe -l|grep raid /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid0.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid456.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid1.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid10.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/aacraid/aacraid.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mbox.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mm.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_sas.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/raid_class.ko

以上命令表示顯示系統中所有的編譯模塊,並過濾包含有raid字元串的模塊。

C. linux系統中哪個命令可以用來載入驅動程序

在2.4內核中,載入驅動命令為:insmod ,刪除模塊為:rmmod;
在2.6以上內核中,除了insmod與rmmod外,載入命令還有modprobe;
insmod與modprobe不同之處:
insmod 絕對路徑/××.o,而modprobe ××即可,不用加.ko或.o後綴,也不用加路徑;最重要的一點是:modprobe同時會載入當前模塊所依賴的其它模塊;
lsmod查看當前載入到內核中的所有驅動模塊,同時提供其它一些信息,比如其它模塊是否在使用另一個模塊。

D. 關於linux掛載文件,好像使用vb寫的

這是xshell 腳本,用於遠程登錄。

簡單來說 xsh.Screen.Send "一個字元串"
他實際就是用來發送一個字元串。其效果等價於手工輸入。

insmod 是linux 載入內核模塊的命令。
"insmod sunrpc.ko" & VbCr
就等同於 用鍵盤輸入insmod sunrpc.ko再加上換行(VbCr)
執行後即載入 sunrpc.ko 模塊。

xsh.Session.Sleep 1000 讓交互環境等待1秒,目的是等待上一條命令執行結束。

後面幾條同理 。

mount -o nolock -t nfs 192.168.1.53:/tmp /mnt

命令 就是掛載網路文件系統到本地/mnt目錄,網路文件系統 位於 192.168.1.53 主機上的 /tmp 文件夾
前面載入的
lockd.ko (NFS鎖定管理守護程序(lockd))
nfs.ko(NFS即NetFileSystem)
sunrpc.ko(SUN Remote Procere Call ,SUN遠程過程調用)
都是為mount做准備,即讓內核支持 lockd ,nfs。

E. make mole_install和 insmod的區別

我覺得差別的話,你可以看Makefile裡面moles_install命令是怎麼安排工作,比如先完成哪個,後完成哪個,(這是比較自動的方式來完成)然後對比單獨的insmod。

另外,有一種情況區別比較大,就是如果模塊比較大,要分成幾個xxx.ko文件,這時候如果用
make moles_install的方式會把這幾個xxx.ko按照既定的順序insmod上去。而如果是自己手動逐個insmod的話,可能會有次序錯誤的問題出現,(主要原因是這些xxx.ko之間有些依賴關系,後來的依賴先到的)當然一般情況下這個問題也比較容易解決。

F. Linux職業認證考試有關

Linux職業認證考試102的必考點1. /proc/interrupts 文件顯示當前系統中正在使用的中斷。

2. Linux支持標准串/並口和游戲棒口。 /dev目錄下對應每個設備/埠有一個文件。setserial命令用於顯示修改串口配置。

3. dmesg命令可顯示Linux在啟動時發現了哪些硬體。

4. fdisk用於硬碟分區。 newe2fs用於建立文件系統。 mount用於將分區掛在總文件樹上。

5. ifconfig是最常用的網路配置工具。 ping通過發送ICMP消息觀察一台網上機器是否可被連通。 RedHat的sndconfig用於配置音效卡。 minicom用於配置modem.

6. PPP協議是最通用的串列通訊協議。 /etc/ppp/options中有PPP的配置信息。

PAP(Password Authentication Protocol)和CHAP(Challenge Handshake Authentication Protocol)是PPP下最流行的兩個認證協議。

系統安裝和軟體包安裝

7. hda 表示第一個IDE盤, hda1是它的第一個分區。 sda表示第一個SCSI盤, sda1是它的第一個分區。

8. swap分區的大小應至少和內存大小一樣。 root分區應盡量小。data/user等分區越細, 備份就越容易。

9. 分區完成後, 可以用mke2fs建立文件系統。

10. /etc/lilo.conf 中有Lilo的配置信息。 編輯完此文件後必須運行/sbin/lilo安裝LILO bootloader.

11. tarball是最方便的打包工具。 "x"選項用於解包, "c" 選項用於打包, "v"選項提供更多過程信息。 "f"選項用於指明包文件名。

12. make使用Makefile文件提供的編譯參數命令編譯系統。 "configure"腳本用於軟體的環境配置。

13. 動態共享庫方便不同的軟體共享庫函數, 而且在庫升級時, 使用它的軟體無需重新編譯。 ldd命令用於顯示軟體的共享庫使用情況。 ldconfig命令用於更新維護系統的共享庫數據緩存(cache of shared library data)。

"ldconfig -p"顯示當前的共享庫緩存。

14. 軟體包管理工具有RedHat的RPM和Debian的dpkg.

15. rpm選項包括:

-i 安裝包-e 卸載包-V 驗證包的安裝情況 (-Va驗證所有包的安裝情況)

-q 查尋哪個包有哪個文件 (-qf 查尋哪個文件屬於哪個包 )

-b 建立包-p 顯示包的信息。

16. dpkg (略)

內核

17. lsmod命令顯示系統中已裝載的模塊。 insmod命令用於裝載模塊。rmmod命令用於卸載模塊。 modinfo用於顯示模塊的有關信息。

18. modprobe工具可根據模塊的依賴情況裝載模塊。 depmod 顯示模塊的依賴情況。

19. conf.moles 和 moles.conf 沒有任何區別。 不同的Linux發布商使用不同的文件。

20. 內核通常使用linux-x.y.z命名, x.y.z 代表版本號。

21. "make config" 提供一字元界面用於配置內核。

22. "make xconfig"提供一X圖形界面用於配置內核。

23. "make dep" 用於建立內核文件的依賴關系。 編好新內核後, 要修改/etc/lilo.conf, 以使用新內核。

文本編輯,處理和列印

24. vi的方向鍵:

h ——左

l ——右

j ——下

k ——上

25. vi的命令:

c -修改文本

d -刪除文本

i -插入文本

o -在當前行下插入一新行

O -在當前行上插入一新行

p -將緩沖區內容插入

r -字元替換

R -替換模式

u - undo

x -刪除字元

y -拷貝入緩沖區

26. The lpc utility is the main one used to manage the print service,while lpq is the primary tool for looking at and interacting with the print queue.

27. The lpr command is used to submit jobs to the print service, and there are a wide number of options that can be used with it, including:

-b to suppress a banner

-K to specify a number of copies to print

-# the same as -K

-m to send error messages via mail

-T to signify a title page

-w to define the width

28. The /etc/printcap file is a database defining what each known printer is capable of. It is read once by lpd at starup.

29. The lpd.perms file hods the permissions for the lpd service and can affect the operation as such utilities as lpc and lpq.

30. The lpd.conf file is used to configure the actual lpd service. There are 180 options that can be configured.

31. The lprm command is used to remove print jobs, and lprm -a will attempt to remove all spooled jobs.

32. /etc/profile在用戶登陸時被執行,然後不同的SHELL會執行用戶home下的對應配置文件.如bash依次查找.bash_profile, .bash_login和.profile.

33. .bashrc在SHELL運行開始時被執行. .inputrc用於鍵盤配置.

34. SHELL腳本必須有可執行許可權,或是直接被SHELL讀入執行. 0代表正常退出.

35. SHELL腳本中應用"#!"說明解釋器位置(如#!/usr/bin/perl)

36. $1代表第一個命令行參數. shift命令將$2變為$1,依此類推.

37. test或者[]可用於進行邏輯測試. if-fi構成判斷塊.

X窗口

38. "X -showconfig"顯示X的配置情況. startx用於啟動X窗口.

39. xterm參數:

-bd設置邊界顏色

-bg設置後景色

-fg設置前景色

-fn設置字體

網路

40. /etc/services 提供埠號與服務名的對應. 如 80 - http, 23 - telnet...

41. DHCP用於自動分配IP. IP地址有32位, 8位一組. 通過前8位將IP地址分為不同類組:

1-126 A 類
128-191 B 類
192-223 C 類

在Internet上的IP地址必須獨立(UNIQUE).

42. 一些IP地址可用於內部網路:

10.x.x.x A 類
172.16.x.x B 類
192.168.x.x C 類

43. netmask用於識別一個主機是否屬於當前網路. 預設netmask為:

A 類 255.0.0.0
B 類 255.255.0.0
C 類 255.255.255.0

網路服務

44. inetd 是超級daemon, 調用其他服務. 它使用/etc/inetd.conf配置文件決定應管理哪些服務.

45. hosts.allow 和 hosts.deny 用於訪問控制. NFS 使用/etc/exports提供的配置決定export那些文件系統. SMB用於與WINDOWS主機通訊. NMB用於識別WINDOWS主機提供的資源.

46. sendmail.cf 是 sendmail的主要配置文件. /etc/aliases 提供mail地址別名. /var/spool/mqueue 中存有mail的消息隊列. mailq用於檢查mail的消息隊列. newaliases 用於建立新的別名文件.

47. Apache提供WEB服務. access.conf, httpd.conf和srm.conf是它的配置文件.

安全

48. /etc/profile 中的umask值應小心配置, 盡量減小新文件的許可權.

49. 對於SUID和SGID程序要特別小心, 盡量用許可權最小的user和group.

50. shadow password用於提高 /etc/passwd的安全性. 應使用quotas對用戶的磁碟空間進行限制. 應有對密碼的安全性檢查, 保證密碼至少有6-8個字元, 並定期更換密碼.

註:102為考試代號,並非是指有102個考點

G. linux內核操作的主要命令及作用

初期linux的驅動程序是必須編譯在內核之中的(相應地驅動程序提供的是源程序以符合GNU規則,例如DFE530TX網卡的驅動就是ftp://www.scyld.com/pub/network/via-rhine.c),後來推廣使用以後一則感覺不方便、二則普通用戶也沒有能力自己編譯內核、三則當時內核不能太大,裡面驅動程序太多超過1M的話會癱掉,於是發明了模塊(moles),就是事先將驅動程序編譯成mole,使用時再將他們裝載到系統里以避免重新編譯內核。再經過發展以後,幾乎內核里的大多數功能都能以模塊形式存在,例如讀寫NTFS、支持PPP協議等等,所以模塊功能已經不局限於驅動程序了。

modprobe功能就是,對系統里的模塊進行增、減、安裝、刪除等等操作。

H. 在linux中 載入/卸載模塊可以使用什麼命令

insmod :載入模塊,該命令可以加入適當的參數;
rmmod:卸載模塊;

I. arm linux中 mknod insmod mount區別與用法cat/proc/devices是什麼意思謝謝

mknod 是創建設備節點命令
insmod 是載入內核模塊的命令
mount 是掛載命令
編譯後的內核模塊xxxxx.ko 使用insmod載入,然後再/dev 下創建設備節點或者叫設備文件(使用的命令就是mknod)。
mount掛載用的和上面2個沒啥聯系、
cat/proc/devices 是查看內核使用的主設備號

J. 如何高效閱讀linux設備驅動程序

第一個驅動:在用戶空間載入和移除驅動
====================================
現在將展示如何完成第一個驅動,在內核中將看作模塊

新建一個文件nothing.c如下

#include <linux/mole.h>

MODULE_LICENSE("Dual BSD/GPL");

2.6.x版本後的內核,編譯模塊會略微復雜一點。首先,需要有一份完整的、編譯過的內
源碼樹。在下面的文字中,將假設使用2。6。8版本的內核。

其次,需要一個makefile文件,本例中的makefile文件名為Makefile,內容如下:

obj-m := nothing.o

與之前版本的內核不同,現在編譯模塊時使用的內核需要與模塊將要載入的內核相同。
編譯上面的文件,可以使用命令:

make -C /usr/src/kernel-source-2.6.8 M=pwd moles

這個極其簡單的模塊就屬於內核空間,一旦其被載入,它就是內核空間的一部分。
在用戶空間,可以使用下面的命令載入它,需要root許可權:

insmod nothing.ko

insmod 這個命令用於為內核載入模塊。盡管現在我們已經載入了nothing.ko這個模塊,
但是這個模塊畢竟沒有任何用處。

可以通過查看系統里已載入的模塊來檢查是否已經成功載入了nothing.ko

lsmod

最後,需要卸載該模塊時使用下面的命令:

rmmod nothing

重新使用lsmod,可以發現nothing模塊已經不在了。

"Hello world"驅動:在內核空間載入和移除驅動
===========================================
當一個模塊設備驅動載入到內核,將執行一些初始的工作,如重新設置設備,reserving
RAM, reserving interrupts, reserving input/output ports, etc.

這些工作得以在內核空間執行,必須要有兩個函數存在:mole_init 和
mole_exit;它們對應於用戶空間的insmod和rmmod命令。總之,用戶命令insmod和
rmmod使用了內核空間的函數mole_init和mole_exit.

來看一個經典的程序 HELLO WORLD:
//hello.c
#include <linux/init.h>
#include <linux/mole.h>
#inlucde <linux/kernel.h>

MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void)
{
printk("<1> Hello world!\n");
return 0;
}

static void hello_exit(void)
{
printk("<1> Bye, cruel world!\n");
}

mole_init(hello_init);
mole_exit(hello_exit);

其中hello_init 和 hello_exit 函數可以取任意名,但為了載入和移除功能是更容易識
別,它們作為參數傳遞給函數mole_init 和 mole_exit.

printk函數與printf函數非常類似,但printk只工作在內核中。<1>表示列印信息
為最高優先順序(數字越低,優先順序越高)。這樣,不僅可以在內核系統日誌中看到該
列印信息,還能在系統控制台接收到該列印信息。

閱讀全文

與insmod命令作用相關的資料

熱點內容
堵車如何緩解壓力 瀏覽:15
喜鵲快貸app怎麼了 瀏覽:263
海龜編輯器積木編程怎麼安裝 瀏覽:185
程序員理發店生意怎麼樣 瀏覽:603
程序員羅技 瀏覽:180
軟考初級程序員課程2021下載 瀏覽:491
杭州程序員奶奶 瀏覽:880
不聽命令造成錯誤 瀏覽:981
kool系統源碼 瀏覽:610
流氓app在哪裡看 瀏覽:98
域名購買了怎麼指向伺服器 瀏覽:121
安卓手機如何讓照片顏色反轉 瀏覽:859
怎麼下載卓睿安手機版 瀏覽:514
h3crange命令 瀏覽:468
php前景和python 瀏覽:338
php壓縮圖片內存大小 瀏覽:495
在哪裡可以查看雲伺服器的信息 瀏覽:70
python讀取非txt文件 瀏覽:799
艾莫迅用什麼編程軟體好 瀏覽:227
android文件存儲讀取 瀏覽:214