红联Linux门户
Linux帮助

在CentOS启动时自动加载内核模块

发布时间:2016-02-28 09:38:01来源:easwy.com作者:linux人

要想在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文件,其实是错误的。这个文件仅仅是定义一些内核模块的别名、以及一些特殊的加载、卸载命令。修改此文件并不能使模块在启动时被自动加载。


本文永久更新地址:http://www.linuxdiyf.com/linux/18454.html