ld.so.conf.d用来加载Linux系统中的动态库文件的:
在/etc下我们会发现下面三个文件
ld.so.conf.d
ld.so.conf
ld.so.cache
使用cat ld.so.conf 以后可以看到是包含了ld.so.conf.d中的所有配置文件
[root@]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
使用cd ld.so.conf.d后,可以看到cd ld.so.conf.d中的内容可以看到配置文件很多
[root@]# ll /etc/ld.so.conf.d/
total 16
-rwxr-xr-x 1 root root 29 3月 23 17:40 cbim.conf
-rw-rw-r-- 1 root root 38 11月 24 2014 fakeroot-x86_64-linux-gnu.conf
lrwxrwxrwx 1 root root 41 6月 23 2021 i386-linux-gnu_egl_conf -> /etc/alternatives/i386-linux-gnu_egl_conf
lrwxrwxrwx 1 root root 40 6月 23 2021 i386-linux-gnu_gl_conf -> /etc/alternatives/i386-linux-gnu_gl_conf
-rw-r--r-- 1 root root 44 1月 27 2016 libc.conf
-rw-r--r-- 1 root root 68 4月 15 2016 x86_64-linux-gnu.conf
lrwxrwxrwx 1 root root 43 6月 23 2021 x86_64-linux-gnu_EGL.conf -> /etc/alternatives/x86_64-linux-gnu_egl_conf
lrwxrwxrwx 1 root root 42 6月 22 2021 x86_64-linux-gnu_GL.conf -> /etc/alternatives/x86_64-linux-gnu_gl_conf
-rw-r--r-- 1 root root 56 6月 23 2021 zz_i386-biarch-compat.conf
在查看配置可以看到如下配置
[root@]# cat /etc/ld.so.conf.d/qt-x86_64.conf
/usr/lib64/qt-3.3/lib
我增加一个配置文件
[root@]# vi /etc/ld.so.conf.d/userlocal.conf
/usr/local/lib
再次查看可以发现已经找到该目录下的动态库
[root@]# 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@]# 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)