0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux中的ldconfig命令详解

Linux爱好者 来源:csdn 作者:恋猫大鲤鱼 2020-12-29 11:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

0615

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 将显示正在扫描的目录及搜索到的动态链接库,还有它所创建的链接的名字 -n ldconfig仅扫描命令行指定的目录,不扫描默认目录(/lib、/usr/lib),也不扫描配置文件 /etc/ld.so.conf 所列的目录。 -N ldconfig 不重建缓存文件(/etc/ld.so.cache),若未用 -X 选项,ldconfig 照常更新文件的链接 -X ldconfig 不更新文件的链接,若未用 -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-cache ldconfig 打印出当前缓存文件保存的所有共享库的名字 -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 一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事。

原文标题:每天一个 Linux 命令(75):ldconfig 命令

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    218007
  • 命令
    +关注

    关注

    5

    文章

    746

    浏览量

    23447

原文标题:每天一个 Linux 命令(75):ldconfig 命令

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    测试工程师都在用的Linux命令清单(建议收藏)

    作为一名工程师,熟练掌握Linux命令是基本功的基本功。无论是日常工作的系统维护,还是面试时的技术考核,Linux
    的头像 发表于 08-08 10:06 506次阅读
    测试工程师都在用的<b class='flag-5'>Linux</b><b class='flag-5'>命令</b>清单(建议收藏)

    Linux基础命令which详解

    Linux系统,which命令用于查找并显示指定命令的可执行文件路径。这对于系统管理员和开发人员来说是一个非常有用的工具,可以帮助定位命令
    的头像 发表于 07-29 17:58 593次阅读

    linux系统awk特殊字符命令详解

    Linux系统,awk 是一种非常强大的文本处理工具,能够对文本数据进行分析、格式化和筛选。利用其内置的特殊字符和操作符,用户可以实现复杂的数据处理任务。以下对一些常见的awk特殊字符和操作符
    的头像 发表于 07-28 16:38 436次阅读

    一文掌握Linux命令

    作为一名运维工程师,熟练掌握Linux命令是基本功的基本功。无论是日常工作的系统维护,还是面试时的技术考核,Linux
    的头像 发表于 07-22 15:23 450次阅读

    详解Linux网络管理的关键命令

    本文档概述了网络管理的关键命令,如ifconfig配置网络接口,ip管理路由,ping测试连通性,以及nmap进行安全扫描。还介绍了nslookup和dig用于域名解析,tcpdump抓包分析,以及arp操作和nmap的深入应用。
    的头像 发表于 07-04 11:37 626次阅读
    <b class='flag-5'>详解</b><b class='flag-5'>Linux</b>网络管理<b class='flag-5'>中</b>的关键<b class='flag-5'>命令</b>

    达梦数据库常用管理SQL命令详解

    达梦数据库常用管理SQL命令详解
    的头像 发表于 06-17 15:12 6585次阅读
    达梦数据库常用管理SQL<b class='flag-5'>命令</b><b class='flag-5'>详解</b>

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 1726次阅读

    Linux常用命令大全

    Linux常用命令是指在Linux操作系统中广泛使用的命令工具,这些命令工具可以完成各种不同的任务,如管理文件和目录、操作进程、网络通信、软
    的头像 发表于 05-03 18:08 1615次阅读

    Linux系统中最重要的三个命令

    Linux三剑客是Linux系统中最重要的三个命令,它们以其强大的功能和广泛的应用场景而闻名。这三个工具的组合使用几乎可以完美应对Shell的数据分析场景,因此被统称为
    的头像 发表于 03-03 10:37 805次阅读

    Linux ip命令常用操作

    Linux ip命令常用操作 在Linux系统,ip命令是用于管理网络接口和路由的强大工具。相比于旧的 ifconfig
    的头像 发表于 02-19 10:23 1074次阅读

    Kubernetes Pod常用管理命令详解

    Kubernetes Pod常用管理命令详解
    的头像 发表于 02-17 14:06 990次阅读
    Kubernetes Pod常用管理<b class='flag-5'>命令</b><b class='flag-5'>详解</b>

    Linux文件管理命令详解

    cat命令描述:该命令用于连接文件并打印到标准输出设备上。
    的头像 发表于 02-17 10:34 892次阅读
    <b class='flag-5'>Linux</b>文件管理<b class='flag-5'>命令</b><b class='flag-5'>详解</b>

    Linux实时查看日志的四种命令详解

    如何在Linux实时查看日志文件的内容?那么有很多实用程序可以帮助用户在文件更改或不断更新时输出文件的内容。在Linux实时显示文件内容的常用
    的头像 发表于 01-13 10:45 3984次阅读
    <b class='flag-5'>Linux</b>实时查看日志的四种<b class='flag-5'>命令</b><b class='flag-5'>详解</b>

    详解Linux sort命令之掌握排序技巧与实用案例

    linux系统使用过程,提供了sort排序命令,支持常用的排序功能。 常用参数 sort命令支持很多参数,常用参数如下:   短参数 长参数 说明 -n – number-sort
    的头像 发表于 01-09 10:10 1592次阅读

    Linux grep命令详解

    Linux grep命令是一种非常常用的文本搜索工具,它可以在给定的文件搜索匹配的字符串,并输出匹配的行。grep是全称“global search regular expression print”,可以识别正则表达式,并使
    的头像 发表于 12-25 09:39 1801次阅读