安装高版本module-init-tools

    技术2022-05-11  81

    如果用默认的configure,module-init-tools会被安装到/usr/local/sbin,这样的话,在初始化时就不会被调用到。其实module-init-tools提供很好的向下兼容性,如果发现内核版本是2.5.48以下的,那么会自动调用.old版本,比如modprobe会自动调用modprobe.old,当然前提是做了备份。所以在RH9下面,module-init-tools需要手工安装。这样就避免了上面修改rc.sysinit的麻烦。 复制module-init-tools-0.9.14.tar.bz2,解压到当前目录: 代码:   tar xjvf module-init-tools-0.9.14.tar.bz2 然后新建build目录: 代码:   mkdir module-init-tools-build 进入该目录,运行configure 代码:   cd module-init-tools-build    ../module-init-tools-0.9.14    CC="gcc296" /      ../module-init-tools-0.9.14/configure 接着编译: 代码:   make 不要运行make install,手工安装modprobe以便保留Redhat自带的版本。 以下是旧版本的文件: /sbin/depmod /sbin/insmod /sbin/modinfo /sbin/modprobe: a symbolic link to insmod /sbin/rmmod: a symbolic link to insmod /sbin/lsmod: a symbolic link to insmod 旧版本中,除了depmod, insmod, modinfo,其余都是到insmod的符号连接。 新版本中,这些都是ELF文件,在2.5.47以下的内核中调用,会自动转调.old文件 所以,我们要重建这些文件名: /sbin/depmod -> /sbin/depmod.old /sbin/insmod -> /sbin/insmod.old /sbin/modinfo -> /sbin/modinfo.old /sbin/modprobe.old: a symbolic link to insmod.old /sbin/rmmod.old: a symbolic link to insmod.old /sbin.lsmod.old: a symbolic link to insmod.old 执行下面的命令完成上述操作: 代码:cd /sbin mv depmod depmod.old mv insmod insmod.old mv modinfo modinfo.old ln -s insmod.old modprobe.old ln -s insmod.old rmmod.old ln -s insmod.old lsmod.old rm -f modprobe rm -f rmmod rm -f lsmod cd - 然后安装现在的版本: 代码:cp depmod /sbin cp insmod.static /sbin/insmod cp modinfo /sbin cp modprobe /sbin cp lsmod /sbin cp rmmod /sbin 测试通过,新版本的module-init-tools安装完成。 这里略过了新版本的man pages,需要的话可以自行安装。   

    最新回复(0)