ld.so.conf.d用来加载Linux系统中的动态库文件的:
在/etc下我们会发现下面三个文件
ld.so.conf.d
ld.so.conf
ld.so.cache
查看ld.so.conf以后可以看到是包含了ld.so.conf.d中的所有配置文件
include ld.so.conf.d/*.conf
查看ld.so.conf.d中的内容可以看到配置文件很多
[[email protected] mcrypt-2.6.8]# ll /etc/ld.so.conf.d/ total 16 -rw-r--r--. 1 root root 17 Feb 9 2012 atlas-x86_64.conf -r--r--r--. 1 root root 324 Jan 30 2013 kernel-2.6.32-358.el6.x86_64.conf -rw-r--r--. 1 root root 17 Dec 5 2012 mysql-x86_64.conf -rw-r--r--. 1 root root 22 Jul 18 2011 qt-x86_64.conf
在查看配置可以看到如下配置
[[email protected] mcrypt-2.6.8]# cat /etc/ld.so.conf.d/qt-x86_64.conf /usr/lib64/qt-3.3/lib
我增加一个配置文件
[[email protected] mcrypt-2.6.8]# vi /etc/ld.so.conf.d/userlocal.conf /usr/local/lib
再次查看可以发现已经找到该目录下的动态库
[[email protected] mcrypt-2.6.8]# ldconfig -p | grep libmcrypt libmcrypt.so.4 (libc6,x86-64) => /usr/local/lib/libmcrypt.so.4 libmcrypt.so (libc6,x86-64) => /usr/local/lib/libmcrypt.so
但我实际操作过程中并不成功,而是在/etc/ld.so.conf中添加路径后,才生效。
相应的信息被缓存在ld.so.cache中了
通过string ld.so.cache可以查看到
如果出现软件无法运行的情况可以通过ldd命令查看是否因为动态库缺失导致程序无法启动
[[email protected] mcrypt-2.6.8]# ldd /sf_web/mysql/bin/mysql linux-vdso.so.1 => (0x00007fff3b5fc000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003ff8200000) librt.so.1 => /lib64/librt.so.1 (0x0000003ff8600000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003ff7e00000) libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f1380a06000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003ffbe00000) libm.so.6 => /lib64/libm.so.6 (0x0000003ff8e00000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003ffca00000) libc.so.6 => /lib64/libc.so.6 (0x0000003ff7a00000) /lib64/ld-linux-x86-64.so.2 (0x0000003ff7600000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x0000003ff9e00000)
时间: 2024-11-07 08:28:06