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中的内容可以看到配置文件很多[root@SH-021Y-SFXY 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
在查看配置可以看到如下配置[root@SH-021Y-SFXY mcrypt-2.6.8]# cat /etc/ld.so.conf.d/qt-x86_64.conf
/usr/lib64/qt-3.3/lib
我增加一个配置文件[root@SH-021Y-SFXY mcrypt-2.6.8]# vi /etc/ld.so.conf.d/userlocal.conf
/usr/local/lib
再次查看可以发现已经找到该目录下的动态库[root@SH-021Y-SFXY 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命令查看是否因为动态库缺失导致程序无法启动[root@SH-021Y-SFXY 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)