Linux核心模組

大雄45發表於2022-10-07
導讀 核心採用的是模組化技術,這樣的設計可以使得系統核心保持最小化,同時確保了核心的可擴充套件性和可維護性,模組化設計允許我們在需要時才將模組載入至核心,實現動態核心的調整。下面我給大家介紹一下有關核心的操作方法。

Linux核心模組Linux核心模組

核心模組存放位置

Linux核心模組檔案的命名方式通常為<模組名稱.ko>,  6.3 系統的核心模組被集中存放在/lib/modules/`uname -r`/目錄下。

檢視已載入系統模組

lsmod 用來顯示當前Linux核心模組狀態,不使用任何引數會顯示當前已經載入的所有核心模組。輸出的三列資訊分別為模組名稱、佔用記憶體大小、是否在被使用,如果第三列為0,則該模組可以隨時解除安裝,非0則無法執行modprobe刪除模組。

[root@centos6 ~]# lsmod
Module                Size              Used by
bridge                 79950             0
stp                    2173              1     bridge
llc                    5642              2     bridge,stp
fuse                   66891             2
autofs4                27212             3
sunrpc                 263516            1
ipt_REJECT             2351              2
nf_conntrack_ipv4      9606              1
nf_defrag_ipv4         1483              1     nf_conntrack_ipv4
iptable_filter         2793              1
ip_tables              17831             1     iptable_filter
載入和解除安裝系統核心

modprobe 可以動態載入和解除安裝核心模組,具體命令如下:

[root@centos6 ~]# modprobe ip_vs           #動態載入ip_vs模組
[root@centos6 ~]# lsmod | grep ip_vs            #檢視模組是否載入成功
[root@centos6 ~]# modprobe -r ip_vs             #動態解除安裝ip_vs模組

modinfo命令也可以檢視核心模組資訊:

[root@centos6 ~]# modinfo ip_vs
修改核心引數
臨時調整核心引數

引數隨著系統的啟動會被寫入系統記憶體中,我們可以直接修改/proc目錄下的大量檔案來調整核心引數,並且這種調整是立即生效的,下面舉幾個例子:

開啟核心路由轉發功能(透過0或1設定開關):

[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

開啟禁止其它主機ping本機功能:

[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

調整所有的程式可以開啟的檔案總數量:

[root@centos6 ~]# echo "108248" >/proc/sys/fs/file-max
永久調整核心引數

透過以上方法直接修改/proc相關檔案的方式,在系統重啟後不再有效,如果希望設定引數永久生效,可以修改/etc/sysctl.conf檔案,可以使用Vim修改該檔案:

[root@centos6 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_all = 1
fs.file-max = 108248

注意:透過sysctl.conf檔案修改的引數不會立即生效,需要使用sysctl -p 命令設定立即生效。

本文原創地址: 作者:馮琪,稽核員:逄增寶

本文原創地址:

導讀 核心採用的是模組化技術,這樣的設計可以使得系統核心保持最小化,同時確保了核心的可擴充套件性和可維護性,模組化設計允許我們在需要時才將模組載入至核心,實現動態核心的調整。下面我給大家介紹一下有關核心的操作方法。

Linux核心模組Linux核心模組

核心模組存放位置

Linux核心模組檔案的命名方式通常為<模組名稱.ko>,  6.3 系統的核心模組被集中存放在/lib/modules/`uname -r`/目錄下。

檢視已載入系統模組

lsmod 用來顯示當前Linux核心模組狀態,不使用任何引數會顯示當前已經載入的所有核心模組。輸出的三列資訊分別為模組名稱、佔用記憶體大小、是否在被使用,如果第三列為0,則該模組可以隨時解除安裝,非0則無法執行modprobe刪除模組。

[root@centos6 ~]# lsmod
Module                Size              Used by
bridge                 79950             0
stp                    2173              1     bridge
llc                    5642              2     bridge,stp
fuse                   66891             2
autofs4                27212             3
sunrpc                 263516            1
ipt_REJECT             2351              2
nf_conntrack_ipv4      9606              1
nf_defrag_ipv4         1483              1     nf_conntrack_ipv4
iptable_filter         2793              1
ip_tables              17831             1     iptable_filter
載入和解除安裝系統核心

modprobe 可以動態載入和解除安裝核心模組,具體命令如下:

[root@centos6 ~]# modprobe ip_vs           #動態載入ip_vs模組
[root@centos6 ~]# lsmod | grep ip_vs            #檢視模組是否載入成功
[root@centos6 ~]# modprobe -r ip_vs             #動態解除安裝ip_vs模組

modinfo命令也可以檢視核心模組資訊:

[root@centos6 ~]# modinfo ip_vs
修改核心引數
臨時調整核心引數

引數隨著系統的啟動會被寫入系統記憶體中,我們可以直接修改/proc目錄下的大量檔案來調整核心引數,並且這種調整是立即生效的,下面舉幾個例子:

開啟核心路由轉發功能(透過0或1設定開關):

[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

開啟禁止其它主機ping本機功能:

[root@centos6 ~]# echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

調整所有的程式可以開啟的檔案總數量:

[root@centos6 ~]# echo "108248" >/proc/sys/fs/file-max
永久調整核心引數

透過以上方法直接修改/proc相關檔案的方式,在系統重啟後不再有效,如果希望設定引數永久生效,可以修改/etc/sysctl.conf檔案,可以使用Vim修改該檔案:

[root@centos6 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_all = 1
fs.file-max = 108248

注意:透過sysctl.conf檔案修改的引數不會立即生效,需要使用sysctl -p 命令設定立即生效。

本文原創地址:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2915602/,如需轉載,請註明出處,否則將追究法律責任。

相關文章