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)ldconfigldconfig/etc/ld.so.conf.d/ 下而非直接修改 /etc/ld.so.confldconfig 扫描范围内sudo ldconfig 更新缓存LD_LIBRARY_PATH 环境变量临时指定库路径ldd /path/to/program
sudo ldconfig -X -f /etc/ld.so.conf
ldconfig 是 Linux 系统维护中重要的工具,正确使用可以解决许多库依赖问题。