要想在CentOS中自動加載內核模塊,需要在/etc/sysconfig/modules/目錄中增加一個腳本,在此腳本中加載所需的模塊。
下面是我所用的一個名為8021q.modules的腳本,用來在我的CentOS 5.3中自動加載802.1Q模塊:
#! /bin/sh /sbin/modinfo -F filename 8021q > /dev/null 2>&1 if [ $? -eq 0 ]; then /sbin/modprobe 8021q fi
上面的腳本首先檢查8021q模塊文件是否存在,如果存在,則調用/sbin/modprobe命令加載此模塊。
把這個文件放在/etc/sysconfig/modules/目錄中,並為其增加可執行權限。這樣,下次重啟系統時,802.1Q模塊就會被自動加載。
在網上有些文章建議在/etc/rc.local文件中增加modprobe命令,這樣做在某些情況下工作會不正常。因為在啟動時,/etc/rc.local在執行完rc.d目錄中的程序后才執行,因此,如果在rc.d中的程序如果用到了所需加載的模塊,就會出錯。
另外有些文章提到修改/etc/modprobe.conf文件,其實是錯誤的。這個文件僅僅是定義一些內核模塊的別名、以及一些特殊的加載、卸載命令。修改此文件並不能使模塊在啟動時被自動加載。