Linux 核心模組管理


安裝 Linux 時會系統會一拼安裝一堆所需的核心模組, 但有時在安裝 Linux 後, 需要安裝一些額外的模組或硬體驅動程式, 也可以透過相關指令完成,。

lsmod 指令

lsmod 的全寫是 “list module”, 顧名思義, lsmod 的作用是查看目前系統中有那些模組:

# lsmod

由於輸出的結果很長, 要顯示特定模組字串可以配合 grep, 例如顯示 ip_tables 模組:

# lsmod | grep ip_tables

modinfo 指令

modinfo 是指 “module information”, 它會顯示模組的詳細資訊, 包括檔案、作者、版權修款及簡介等資訊:

# modinfo ip_tables
filename: /lib/modules/2.6.18-416.el5/kernel/net/ipv4/netfilter/ip_tables.ko
description: IPv4 packet filter
author: Netfilter Core Team
license: GPL
srcversion: 74C701D3909A81B51D2C29B
depends: x_tables
vermagic: 2.6.18-416.el5 SMP mod_unload gcc-4.1

modprobe 指令

modprobe 的作用是在核心新增及移除模組的指令。Linux 會將所有核心模組放在 /lib/modules/uname -r/kernel/drivers/ 目錄下, 查看該目錄直接輸入:

# ls /lib/modules/uname -r/kernel/drivers/

要加入模組, 只要在 modprobe 後面加上模組名稱即可:

# modprobe module_name

要移除核心模組, 只要在 modprobe 加上 -r 參數, 例如我想移除 floppy 磁碟機的模組:

# modprobe -r floppy

modprobe 另一個用處是顯示核心模組的相依性, 加上 “–show-depends” 參數即可, 例如:

# modprobe –show-depends ip_tables

Leave a Reply