ldconfig命令的作用主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库,进而创建出动态装入程序(ld.so)所需的连接和缓存文件。
缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。
如果发现某一程序无法启动,缺少依赖可以做如下重新链接操作
[root@61 bin]# ./OlapServer.out
./OlapServer.out: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
[root@61 bin]# ldd OlapServer.out
linux-vdso.so.1 => (0x00007ffdcf915000)
libssl.so.1.1 => not found
libz.so.1 => /lib64/libz.so.1 (0x00007fa3bf539000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa3bf31d000)
libgomp.so.1 => /lib64/libgomp.so.1 (0x00007fa3bf0f7000)
libbson-1.0.so.0 => not found
libmongoc-1.0.so.0 => not found
libcrypto.so.1.1 => not found
libm.so.6 => /lib64/libm.so.6 (0x00007fa3bedf5000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fa3bebdf000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa3be811000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa3bf74f000)
[root@61 bin]# pwd
/opt/FOne/AppServer/bin
[root@61 bin]# vi /etc/ld.so.conf
插入/opt/FOne/AppServer/bin
[root@61 bin]# ldconfig
ldconfig: /opt/FOne/AppServer/bin/libupb.so.9 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libtcmalloc.so.4 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libmongoc-1.0.so.0 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgrpc_unsecure.so.9 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgrpc_cronet.so.9 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgrpcpp_channelz.so.1 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgrpc.so.9 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgrpc++_unsecure.so.1 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgrpc++_reflection.so.1 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgrpc++_error_details.so.1 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgrpc++_alts.so.1 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgrpc++.so.1 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libgpr.so.9 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libglog.so.0 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libbson-1.0.so.0 is not a symbolic link
ldconfig: /opt/FOne/AppServer/bin/libaddress_sorting.so.9 is not a symbolic link
[root@61 bin]#