modprobe

modprobe 这个命令是用来往内核中加载(或者移除)模块用的,我很奇怪加载不应该是 insmod 的么?然后查了一下,他们是有区别的,虽然都可以用来往内网中加载模块:

如果 modprobe 在加载过程中发生错误,会卸载整组的模块。modprobe 寻找模块的位置是:/lib/modules/<uname -r> ,但是不会加载 /etc/modprobe.conf/etc/modprobe.d/ 中配置的排除内容。

当然,modprobe 的依赖分析不是天马行空来的,而是通过 depmod 生成的。

ldconfig

ldconfig 这个命令的作用就是在指定的位置查找动态链接库,然后加载进系统的内存(内核空间还是用户空间?没有深究)。所以,一般这个命令是在系统启动的时候运行的,这样,在我们升级或者自己编译新的动态链接库之后,就需要自己手动执行一遍 ldconfig 才能让新的动态链接库生效。

ldconfig 查找动态链接库的位置有:

一些注意事项:

Ref