ldconfig
是 Linux 系统中用于配置动态链接器运行时绑定的重要工具,它主要处理共享库的缓存和链接。
ldconfig
的主要功能包括:
1. 扫描系统默认库目录和 /etc/ld.so.conf
中指定的目录
2. 处理找到的共享库,创建必要的链接
3. 生成缓存文件 /etc/ld.so.cache
供运行时链接器使用
ldconfig [选项...]
常用选项:
选项 | 说明 |
---|---|
-v 或 --verbose |
详细模式,显示扫描的目录和创建的链接 |
-n |
只处理命令行指定的目录,不处理标准目录和 /etc/ld.so.conf |
-N |
不重建缓存文件 |
-X |
不更新链接 |
-f <conf> |
使用指定的配置文件代替 /etc/ld.so.conf |
-C <cache> |
使用指定的缓存文件代替 /etc/ld.so.cache |
-r <root> |
更改根目录(用于 chroot 环境) |
-l |
库模式,手动链接单个库(专家模式) |
-p 或 --print-cache |
打印当前缓存内容 |
-c 或 --format |
指定缓存格式(旧版兼容) |
-V |
显示版本信息 |
-? 或 --help |
显示帮助信息 |
sudo ldconfig
这是最常见的用法,通常在安装新库后运行,以更新系统库缓存。
ldconfig -p
显示当前缓存中的所有库及其路径。
/etc/ld.so.conf
或 /etc/ld.so.conf.d/
下的新文件中sudo ldconfig
更新缓存sudo ldconfig -n /path/to/your/libs
sudo ldconfig -v
/etc/ld.so.conf
- 包含额外库目录的配置文件/etc/ld.so.conf.d/
- 包含额外库配置的目录(推荐将自定义配置放在这里)/etc/ld.so.cache
- 已缓存的库列表(二进制格式)/lib
, /usr/lib
- 标准库目录(64位系统通常在 /lib64
, /usr/lib64
)ldconfig
ldconfig
/etc/ld.so.conf.d/
下而非直接修改 /etc/ld.so.conf
ldconfig
扫描范围内sudo ldconfig
更新缓存LD_LIBRARY_PATH
环境变量临时指定库路径ldd /path/to/program
sudo ldconfig -X -f /etc/ld.so.conf
ldconfig
是 Linux 系统维护中重要的工具,正确使用可以解决许多库依赖问题。