ldconfig

    ldconfig是linux提供的动态库配置工具,主要用来完成两个工作:

    (1)配置动态库的搜索路径。

    (2)加载动态库到系统缓存。

    我们知道,Linux的共享库可以在进程之间共享,因此系统启动时,会预先根据动态库的配置文件加载所有配置的动态库。Linux的动态库默认是配置在 /etc/ld.so.conf 文件中(当然,可以通过 include 命令加载额外的配置文件),ldconfig读取所有配置路径,加载这些路径下的所有动态库,并保存到 /etc/ld.so.cache缓存文件中。

    示例:有三个动态库文件 libtest.1.so,libtest.2.so,libtest.3.so,并且这三个动态库的SONAME都是 libtest.so。

    (1)默认情况下,执行 $ ldconfig,会搜索 /etc/ld.so.conf 文件下配置的所有路径,更新软链,并更新 /etc/ld.so.cache 文件。

    (2)-n dir选项:扫描指定目录dir下的所有so,根据文件名中的最新版本号,更新软链,并更新 /etc/ld.so.cache文件。如,

            $ ldconfig -n ./    # 生成 libtest.so,libtest.so是一个软链接,指向版本号最大的动态库 libtest.3.so

            $ ls -al
                -rwxrwxr-x 1 yepanl yepanl 8612 Oct  8 11:38 libtest.1.so
                -rwxrwxr-x 1 yepanl yepanl 8612 Oct  8 11:38 libtest.2.so
                -rwxrwxr-x 1 yepanl yepanl 8612 Oct  8 11:38 libtest.3.so
                lrwxrwxrwx 1 yepanl yepanl 12 Oct  9 16:56 libtest.so -> libtest.3.so

    (3)-l src dest选项:重新指定软链的连接目标。如,

            $ ldconfig -l libtest.so libtest.2.so    # 指定 libtest.so 链接到 libtest.2.so

            $ ls -al
                -rwxrwxr-x 1 yepanl yepanl 8612 Oct  8 11:38 libtest.1.so
                -rwxrwxr-x 1 yepanl yepanl 8612 Oct  8 11:38 libtest.2.so
                -rwxrwxr-x 1 yepanl yepanl 8612 Oct  8 11:38 libtest.3.so
                lrwxrwxrwx 1 yepanl yepanl 12 Oct  9 16:59 libtest.so -> libtest.2.so

    (4)-N选项:只更新软链接,不更新 /etc/ld.so.cache 缓存。如,在 /etc/lib.so.conf.d/ 目录下配置了 test.conf 文件,文件中配置了当前动态库的的路径。

            $ sudo ldconfig -N    # 生成 libtest.so,不更新 /etc/ld.so.cache 文件。

    (5)-X选项:只更新 /etc/ld.so.cache 缓存,不更新软链接。如,在 /etc/lib.so.conf.d/ 目录下配置了 test.conf 文件,文件中配置了当前动态库的路径。

            $ sudo ldconfig -X    # 不生成 libtest.so,只更新 /etc/ld.so.cache 文件。

    (6)-f config选项:搜索指定的 config 文件,而非 /etc/ld.so.conf 文件。如,当前目录下配置了 test.conf 文件,文件中配置了当前动态库的路径。

            $ sudo ldconfig -f test.conf    # 生成 libtest.so,更新 /etc/ld.so.cache 文件,只搜索 test.conf,不搜索 /etc/lib.so.conf

    (7)-C cache选项:更新指定的 cache 文件,而非 /etc/ld.so.cache 文件。

            关于这个选项,测试发现没有生成指定的 cache 文件,有待进一步验证。

 

            

转载于:https://my.oschina.net/yepanl/blog/2236854

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值