ld.so.conf.d配置文件

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)


你可能感兴趣的:(配置,ld.so.conf.d)