ldconfig命令的作用主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库,进而创建出动态装入程序(ld.so)所需的连接和缓存文件。

缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。

ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

语法格式:  ldconfig [参数]

常用参数:

-v显示正在扫描的目录及搜索到的动态链接库以及所创建的连接的名字
-n仅扫描命令行指定的目录,不扫描默认目录,也不扫描配置文件所列的目录
-N不重建缓存文件
-X不更新文件的连接
-f <conf>指定动态链接库的配置文件为CONF,系统默认为/etc/ld.so.conf
-C<cache>指定生成的缓存文件为CACHE,系统默认的是/etc/ld.so.cache
-r<root>改变应用程序的根目录为ROOT
-l进入专家模式手工设置连接
-p打印出当前缓存文件所保存的所有共享库的名字
-c<foemat>指定缓存文件所使用的格式
-V打印出ldconfig的版本信息,而后退出
-- -help打印出其帮助信息,而后退出

参考实例

执行动态链接库管理命令:

[root@linuxcool ~]# sudo ldconfig

追加库文件/usr/local/mysql/lib到/etc/ld.so.conf文件中:

[root@linuxcool ~]# echo "/usr/local/mysql/lib" >>/etc/ld.so.conf
[root@linuxcool ~]# ldconfig -v | grep mysql                    

扫描命令行指定的目录:

[root@linuxcool ~]# ldconfig -n /linuxcool

不更新文件的链接:

[root@linuxcool ~]# ldconfig -X
Author

这篇优质的内容由TA贡献而来

姜传广

网络工程师,linux爱好者