1.简介

ldconfig 命令用于在默认搜寻目录 /lib 和 /usr/lib 以及动态库配置文件 /etc/ld.so.conf 内所列的目录下,搜索出可共享的动态链接库(格式如 lib*.so*),进而创建出动态链接器(ld.so 或 ld-linux.so)所需的缓存文件。缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。为了让动态链接库为系统所共享,需运行动态链接库的管理命令 ldconfig 更新动态链接库的缓存文件。

ldconfig 位于 /sbin 目录下,通常在系统启动时运行,当用户安装了一个新的动态链接库时,需要手动运行这个命令。

2.命令格式

/sbin/ldconfig [ -nNvXV ] [ -f conf ] [ -C cache ] [ -r root ] directory ...
/sbin/ldconfig -l [ -v ] library ...
/sbin/ldconfig -p

3.参数说明

-v, --verbose用此选项时,ldconfig 将显示正在扫描的目录及搜索到的动态链接库,还有它所创建的链接的名字-nldconfig仅扫描命令行指定的目录,不扫描默认目录(/lib、/usr/lib),也不扫描配置文件 /etc/ld.so.conf 所列的目录。-Nldconfig 不重建缓存文件(/etc/ld.so.cache),若未用 -X 选项,ldconfig 照常更新文件的链接-Xldconfig 不更新文件的链接,若未用 -N 选项,则缓存文件照常重建-f <conf >指定动态链接库的配置文件为 <conf > ,系统默认为 /etc/ld.so.conf-C <cache>指定生成的缓存文件为 <cache>,系统默认的是 /etc/ld.so.cache,此文件存放已排好序的可共享的动态链接库的列表-r <root>改变应用程序的根目录为 <root>(是调用 chroot 函数实现的)。选择此项时,系统默认的配置文件 /etc/ld.so.conf,实际对应的为 <root>/etc/ld.so.conf。如用 -r /usr/zzz时,打开配置文件 /etc/ld.so.conf 时,实际打开的是 /usr/zzz/etc/ld.so.conf 文件。用此选项,可以大大增加动态链接库管理的灵活性-l通常情况下,ldconfig 搜索动态链接库时将自动建立动态链接库的链接,选择此项时,将进入专家模式,需要手工设置链接,一般用户不用此项-p, --print-cacheldconfig 打印出当前缓存文件保存的所有共享库的名字-c FORMAT 或 --format=FORMAT:此选项用于指定缓存文件所使用的格式,共有三种:old(老格式),new(新格式)和compat(兼容格式,此为默认格式)。-V打印出 ldconfig 的版本信息-?, --help, --usage这三个选项作用相同,都是让ldconfig打印出其帮助信息

4.常用示例

(1)显示 ldconfig 帮助信息。

ldconfig -?

(2)显示 ldconfig 版本信息。

ldconfig -V

(3)刷新动态链接库缓存文件 /etc/ld.so.cache。

sudo ldconfig

5.注意事项

(1)往 /lib 和 /usr/lib 里面加动态链接库,是不用修改 /etc/ld.so.conf的,但是完了之后要调一下 ldconfig,不然这个 library 会找不到。

(2)想往上面两个目录以外加东西的时候,一定要修改 /etc/ld.so.conf,然后再调用 ldconfig,不然也会找不到。

比如安装了一个 mysql 到 /usr/local/mysql,mysql 有一大堆 library在 /usr/local/mysql/lib 下面,这时就需要在 /etc/ld.so.conf 里面加一行 /usr/local/mysql/lib,保存过后执行 ldconfig 更新一下动态链接库缓存 /etc/ld.so.cache,新的 library 才能在程序运行时被找到。

(3)如果想在 /lib 和 /usr/lib 这两个目录以外放 lib,并且又不想在 /etc/ld.so.conf 中加动态链接库的目录(或者是没有权限加)。那么可以 export 一个全局变量 LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找 library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用。

(4)ldconfig 更新动态链接库的缓存文件只与程序运行时有关,跟编译时没有关系。编译时需要加 -L 就得加,不要混淆了。

(5)总之,就是不管做了什么关于 library 的变动后,最好都 ldconfig 一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事。


参考文献

[1] ldconfig manual
[2] Linux 命令大全.ldconfig命令

Linux 命令(71)—— ldconfig 命令相关推荐

  1. 【Linux】一步一步学Linux——ldconfig命令(255)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 ldconfig命令的用途主要是在默认搜寻目录/lib和/ ...

  2. ldconfig 命令用法

    ldconfig 是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig. ldconfig 命令的用途,主要是在默认搜寻目录(/lib 和 /usr ...

  3. ldconfig命令详解,linux动态链接库

    动态链接库管理命令 为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig.此执行程序存放在/sbin目录下. ldconfig命令的用途,主要是在默认搜寻目录(/lib和/u ...

  4. Linux 后台开发常用命令目录(更新 ing)

    文章目录 前言 帮助命令 进程与作业管理 文本查看 文本编辑 编程相关 系统管理 文件传输 网络管理 文件与目录管理 磁盘管理 权限管理 用户与组管理 备份压缩 代码版本控制 性能检测 实用工具 前言 ...

  5. Linux系统状态查看命令2

    2019独角兽企业重金招聘Python工程师标准>>> 10月24日任务 10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 li ...

  6. linux运维常用命令一句话(持续更新中)

    整理收集一些Linux运维管理.系统管理的常用命令,太多了记不住,只能记录下来方便日后查看.也可以和大家分享.如果你有好的一句话命令也贴出来吧.本文持续更新中. 1.linux启动过程 开启电源 -- ...

  7. linux远程执行shell命令行,linux shell 远程执行命令--ftp

    linux shell 远程执行命令--ftp 2018-12-07 ftp有很多命令,熟悉这些命令你能大大的提高工作效率: FTP命令行格式为: ftp -v -d -i -n -g [主机名] , ...

  8. linux运维常用命令一句话

    整理收集一些linux运维管理.系统管理的常用命令,太多了记不住,只能记录下来方便日后查看.也可以和大家分享.如果你有好的一句话命令也贴出来吧.本文持续更新中. 1.linux启动过程 开启电源 -- ...

  9. 第十三天-linux正则表达式及重点命令

    正则表达式: 简单的说,正则表达式就是一套处理字符串的规则和方法,以行为单位对字符串进行处理,通过特殊的符号辅助,我们可以快速的过滤,替换某些特定的字符串. 运维工作中,会有大量的访问日志,错误日志. ...

最新文章

  1. 不是都需要ARM吗?
  2. labelme标注需要精确标注吗_国内需要一个数据标注平台
  3. linux下-exec和xargs的区别
  4. 家乐福首家付费会员店遇到「喜与忧」背后,行业同质化问题浮出水面
  5. 机器学习是什么——周志华
  6. 面向对象程序设计——UML分析和本学期总结
  7. Redis使用不当导致应用卡死
  8. sftp shell 批量上传文件_如何在shell脚本里使用sftp批量传送文件-阿里云开发者社区...
  9. 升级到只读域控制器RODC
  10. 腾讯 2016 春季实习校招一面回忆(C++ 后台)
  11. JNI学习-- C调用java方法
  12. 计算机博弈军旗程序,军棋机器人UCT算法及计算机博弈行为研究
  13. 开心游戏网页(附效果图)
  14. jsr、jcp和harmony的介绍
  15. 【矩阵计算GPU加速】numpy 矩阵计算利用GPU加速,cupy包
  16. basename函数漏洞之[Zer0pts2020]Can you guess it?
  17. AJAX 请求 NIDE 搭建简单服务
  18. [附源码]Python计算机毕业设计调查问卷及调查数据统计系统Django(程序+LW)
  19. netstat -ano命令查询端口
  20. selenium+python抓取微博时遇到“展开全文”

热门文章

  1. 呐,一个苹果洞赚10万美元的详细经验都在这里了~
  2. OpenSSL 修复可导致 DoS攻击的高危漏洞
  3. FPGA 芯片被曝严重的 Starbleed 漏洞,影响数据中心IoT工业设备等
  4. istio组件介绍和启动流程
  5. 4.5管道实现机制和模拟构建管道「深入浅出ASP.NET Core系列」
  6. Windows Server 2008 R2正式版尝鲜体验
  7. Mysql经常使用函数汇总
  8. Android自定义View初步
  9. Swift 中的过滤器
  10. PHP的HashTable实现