本文共 1209 字,大约阅读时间需要 4 分钟。
下面是以前学习Linux时写的,后来仔细研究rc.sysinit后发现,只需要修改下列地方就可以了,不必这么麻烦的:
rc.sysinit中有这样的一段代码: # load other user-defined modules for file in / etc / sysconfig / modules/ .modules ; do [ -x $file ] && KaTeX parse error: Expected 'EOF', got '#' at position 15: file done #̲ Load modules (…unamer/kernel/net/ipv4/ipvs ]; then for module in /lib/modules/KaTeX parse error: Expected 'EOF', got '}' at position 28: …l/net/ipv4/ipvs}̲ module={module%.ko} modprobe KaTeX parse error: Expected 'EOF', got '&' at position 21: …e >/dev/null 2>&̲1 done fi…{module##/} :其中##表示从前面删除字符,*/表示删除到最后一个/,如果一个#就表示只删除到第一个/。如果变量后面接##,表示在##后面的字符串取最长的(一直到最后面),如果接#,表示取最小的一段。 module=${module%.ko}:表示从后面删除.ko。如果变量后面接%%,表示在%%后面的字符串取最长的(一直到最前面),如果接%,表示取最小的一段。 这样多module的两次修改就得到了模块名,就是文件名不带路径和.ko后缀。 modprobe $module >/dev/null 2>&1:加载模块,输出都指向空设备 这样重启后lsmod | grep ip_vs就会得到: ip_vs_wrr 6977 0 ip_vs_wlc 6081 0 ip_vs_sh 6593 0 ip_vs_sed 6081 0 ip_vs_rr 6081 0 ip_vs_nq 5953 0 ip_vs_lc 5953 0 ip_vs_lblcr 10565 0 ip_vs_lblc 9797 0 ip_vs_ftp 10053 0 ip_vs_dh 6593 0 ip_vs 79425 22 ip_vs_wrr,ip_vs_wlc,ip_vs_sh,ip_vs_sed,ip_vs_rr,ip_vs_nq,ip_vs_lc,ip_vs_lblcr,ip_vs_lblc,ip_vs_ftp,ip_vs 分享:转载地址:http://cyfwi.baihongyu.com/