linux命令之添加系统搜索动态库目录-ldconfig
来源:互联网 发布:怎么开通淘宝子账号 编辑:程序博客网 时间:2024/06/06 00:32
ldconifg,/etc/ld.so.conf,/etc/ld.so.cache三个的关系
一般情况下我们可以将程序需要搜索动态库的路径配置到ld_library_path这个环境变量中,不过很多系统的库我们没有配置到这个环境变量中也是可以找到的,ldconfig就如同windows的系统环境变量,ldconfig命令的用途就是添加扫描到的动态库路径到系统搜索动态库的配置文件中。
这个动态库路径配置文件就叫ld.so.cache,看名字更像是一个库路径的缓冲区,我们可以输入命令cat /etc/ld.so.cache看看里面满满的都是库的路径:
libzzipwrap-0.so.13/usr/lib/x86_64-linux-gnu/libzzipwrap-0.so.13libzzipmmapped-0.so.13/usr/lib/x86_64-linux-gnu/libzzipmmapped-0.so.13libzzipfseeko-0.so.13/usr/lib/x86_64-linux-gnu/libzzipfseeko-0.so.13libzzip-0.so.13/usr/lib/x86_64-linux-gnu/libzzip-0.so.13libzvbi.so.0/usr/lib/x86_64-linux-gnu/libzvbi.so.0libzvbi-chains.so.0/usr/lib/x86_64-linux-gnu/libzvbi-chains.so.0libzmq.so.5/usr/lib/x86_64-linux-gnu/libzmq.so.5libz.so.1/lib/x86_64-linux-gnu/libz.so.1libz.so/usr/lib/x86_64-linux-gnu/libz.solibyaml-0.so.2/usr/lib/x86_64-linux-gnu/libyaml-0.so.2libyaml-cpp.so.0.5/usr/lib/x86_64-linux-gnu/libyaml-cpp.so.0.5libyajl.so.2/usr/lib/x86_64-linux-gnu/libyajl.so.2libx265.so.79/usr/lib/x86_64-linux-gnu/libx265.so.79libx264.so.148/usr/lib/x86_64-linux-gnu/libx264.so.148libxvidcore.so.4/usr/lib/x86_64-linux-gnu/libxvidcore.so.4libxtables.so.11/lib/x86_64-linux-gnu/libxtables.so.11libxslt.so.1/usr/lib/x86_64-linux-gnu/libxslt.so.1libxshmfence.so.1/usr/lib/x86_64-linux-gnu/libxshmfence.so.1libxshmfence.so/usr/lib/x86_64-linux-gnu/libxshmfence.solibxml2.so.2/usr/lib/x86_64-linux-gnu/libxml2.so.2libxml2.so/usr/lib/x86_64-linux-gnu/libxml2.solibxkbcommon.so.0/usr/lib/x86_64-linux-gnu/libxkbcommon.so.0libxcb.so.1/usr/lib/x86_64-linux-gnu/libxcb.so.1libxcb.so/usr/lib/x86_64-linux-gnu/libxcb.solibxcb-xinerama.so.0/usr/lib/x86_64-linux-gnu/libxcb-xinerama.so.0libxcb-xfixes.so.0/usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0libxcb-xfixes.so/usr/lib/x86_64-linux-gnu/libxcb-xfixes.solibxcb-sync.so.1/usr/local/samba/lib/libwbclient.so.0libwbclient.so/usr/local/samba/lib/libwbclient.solibwayland-server.so.0/usr/lib/x86_64-linux-gnu/libwayland-server.so.0libwayland-egl.so.1/usr/lib/x86_64-linux-gnu/libwayland-egl.so.1libwayland-cursor.so.0/usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0libwayland-client.so.0/usr/lib/x86_64-linux-gnu/libwayland-client.so.0libwavpack.so.1/usr/lib/x86_64-linux-gnu/libwavpack.so.1libv8.so.3.14.5/usr/lib/libv8.so.3.14.5libv4l2.so.0/usr/lib/x86_64-linux-gnu/libv4l2.so.0libv4l1.so.0(实际看是没有换行的,还有一些乱码,毕竟不是文本格式来写,这里只是为了看的清楚手动换了行)。
ldconfig的原理是通过扫描默认目录/lib和/usr/lib,以及/etc/ld.so.conf中配置的目录,将里面的所有动态库路径保存到一个ld.so.cache文件中,然后执行程序的时候就在里面搜索程序所需要的库。
所以往上面两个默认目录中加了新的库要执行一下ldconfi命令,以便将新添加的库路径添加到ld.so.cache中;往ld.so.conf中加了新的路径,也要执行一下ldconfig命令,以便扫描新加的目录将新目录中的动态库路径添加到ld.so.cache中。
另外想要切换到sudo执行路径,要执行sudo ldconfig命令。
在终端输入ldconfig --help查看其他的选项:
用法: ldconfig.real [选项...]设置运行时期动态连接 -c, --format=FORMAT 采用的格式:新、旧或兼容(默认) -C CACHE 将 CACHE 用作缓冲区文件 -f CONF 将 CONF 用作配置文件 -i, --ignore-aux-cache 忽略辅助缓存文件 -l 手工连接独立的库。 -n 只在命令行中给出了进程目录。未创建缓冲区。 -N 不要创建缓冲区 -p, --print-cache 打印缓冲区 -r ROOT 进入 ROOT 目录并将其作为根目录 -v, --verbose 生成详细消息 -X Don't update symbolic links -?, --help 给出该系统求助列表 --usage 给出简要的用法信息 -V, --version 打印程序版本号长选项的强制或可选参数对对应的短选项也是强制或可选的。要知道错误报告指令,请参看:<https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>。
阅读全文
0 0
- linux命令之添加系统搜索动态库目录-ldconfig
- linux中ldconfig命令 以及 添加动态库自动搜索路径
- ldconfig命令详解,linux动态链接库
- ldconfig命令详解,linux动态链接库
- 动态库 命令 ldconfig
- Linux命令ldconfig——动态链接库管理命令
- Linux命令之ldconfig详解
- solaris x86 更新动态库 类似linux的ldconfig命令
- Linux下动态库之ldconfig和ldd指令详解
- linux 常用基本命令之三十一 ldconfig
- 动态链接库管理命令ldconfig
- Linux ldconfig 查看动态库连接
- linux 配置和加载动态库 ldconfig
- Linux ldconfig命令
- linux中的ldconfig命令
- linux中ldconfig(动态链接库管理命令)的使用介绍
- linux/unix系统中ldconfig命令使用详解
- Linux 之 ldconfig
- 强化学习入门之Q-Learning1
- android:线程池和AsyncTask使用小结
- oracle中sql语句查询优化(五)
- Android Studio 创建模板 Templates
- 传进一个时间段,按整小时切割成一个个小时段及稍作变化
- linux命令之添加系统搜索动态库目录-ldconfig
- 新信用体系来了?马云的支付宝梦即将实现!
- 交叉熵
- ThinkPHP支付宝支付
- 2017年11月23日学习笔记_用python解决杨辉三角函数,以及理解
- windows 操作系统安装、激活
- UTF-8 Validation问题及解法
- 计算图(computational graph)角度看BP(back propagation)算法
- OpenCV安装:Win10 + OpenCv 3.1.0 + VS2015 及环境配置