Linux命令和可执行文件严重依赖于共享库,其中单个共享库通常由多个命令或可执行文件使用,甚至由其他库使用。共享库是一个包含二进制代码的文件,用于正确运行Linux命令和可执行文件。共享意味着图书馆可以很容易地被其他人使用而没有问题。ldconfig命令用于创建所需的链接并缓存和管理它们。
null
/etc/ld.so.conf配置文件
的主配置文件 ldconfig配置 命令是 /等/ld.so.conf 文件。此配置文件包含共享库配置,或提供指向位于“”下的其他共享库配置的链接 /etc/ld.so.conf.d.等/ “.
打印有关ldconfig命令的帮助信息
即使命令并不复杂,ldconfig命令的帮助信息和选项也可以与–help选项一起列出,如下所示。
ldconfig --help
帮助信息如下。
Usage: ldconfig.real [OPTION…] Configure Dynamic Linker Run Time Bindings. -c, --format=FORMAT Format to use: new (default), old, or compat -C CACHE Use CACHE as cache file -f CONF Use CONF as configuration file -i, --ignore-aux-cache Ignore auxiliary cache file -l Manually link individual libraries. -n Only process directories specified on the command line. Don't build cache. -N Don't build cache -p, --print-cache Print cache -r ROOT Change to and use ROOT as root directory -v, --verbose Generate verbose messages -X Don't update symbolic links -?, --help Give this help list --usage Give a short usage message -V, --version Print program version
或者-?或者–使用选项可用于打印帮助信息。
ldconfig -?
或
ldconfig --usage
列出缓存库
ldconfig命令可用于列出已缓存的库文件。这个 -第 选项应提供到ldconfig命令中。
ldconfig -p
输出如下。从输出中我们可以看到总共找到1052个库。库名称和路径在此输出中列出。所有这些信息都提供并存储在 /etc/ld.so.缓存 .
1052 libs found in cache `/etc/ld.so.cache' libzvbi.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libzvbi.so.0 libzvbi-chains.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libzvbi-chains.so.0 libzstd.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libzstd.so.1 libzmq.so.5 (libc6,x86-64) => /lib/x86_64-linux-gnu/libzmq.so.5 libzephyr.so.4 (libc6,x86-64) => /lib/x86_64-linux-gnu/libzephyr.so.4 libzbar.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libzbar.so.0 libz.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libz.so.1 libz.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libz.so libyelp.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libyelp.so.0 libyaml-0.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libyaml-0.so.2 libyajl.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libyajl.so.2 libx265.so.192 (libc6,x86-64) => /lib/x86_64-linux-gnu/libx265.so.192 libx264.so.160 (libc6,x86-64) => /lib/x86_64-linux-gnu/libx264.so.160
列出所有库及其目录
v选项可用于扫描所有目录中的库,并打印库名称和库文件。此外,还列出了库配置文件。
ldconfig -v
输出如下。
/lib/x86_64-linux-gnu: (from /etc/ld.so.conf.d/x86_64-linux-gnu.conf:3) libnetplan.so.0.0 -> libnetplan.so.0.0 libnssutil3.so -> libnssutil3.so libboost_iostreams.so.1.71.0 -> libboost_iostreams.so.1.71.0 libcupsimage.so.2 -> libcupsimage.so.2 libgtop-2.0.so.11 -> libgtop-2.0.so.11.0.1 libunwind-coredump.so.0 -> libunwind-coredump.so.0.0.0
添加新库
当您要添加新库时 -不 可以使用选项。对于-n选项,应该提供库路径或目录。将源代码编译到库中或从internet下载库时,可以添加新库。在下面的示例中,我们将添加路径“/opt/lib”作为一个新的库路径,在该路径中自动添加此目录下的所有库。
ldconfig -n /opt/lib
另一种添加新库或库路径的方法是将库路径放入“/etc/ld.so.conf”文件中,然后像下面那样运行ldconfig。
ldconfig
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END