Linux常用命令——ldconfig命令

article/2025/9/26 14:12:17

在线Linux命令查询工具

ldconfig

动态链接库管理命令

补充说明

ldconfig命令的用途主要是在默认搜寻目录/lib/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表,为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。

语法

ldconfig [-v|--verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE] [-r ROOT] [-l] [-p|--print-cache] [-c FORMAT] [--format=FORMAT] [-V] -?|--[help|--usage] path...

选项

-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打印出其帮助信息,而后退出。

ldconfig几个需要注意的地方:

  • /lib/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到。
  • 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到。
  • 比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程序运行时被找到。
  • 如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用。
  • ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了。
  • 总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事。
  • 再有,诸如libdb-4.3.so文件头中是会含有库名相关的信息的(即含“libdb-4.3.so”,可用strings命令察看),因此仅通过修改文件名以冒充某已被识别的库(如libdb-4.8.so)是行不通的。为此可在编译库的Makefile中直接修改配置信息,指定特别的库名。

在线Linux命令查询工具

在线Linux命令查询工具
原文链接


http://chatgpt.dhexx.cn/article/aESjHyc7.shtml

相关文章

[JavaScript] 理解 e.clientX,e.clientY e.pageX e.pageY e.offsetX e.offsetY

event.clientX、event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性 event.pageX、event.pageY 类似于event.clientX、event.clientY&#xff…

clientX,clientY,offsetY,offsetX,screenX,screenY区分

在js中clientX,clientY,offsetX,offsetY,screenX,screenY都是鼠标事件的几个对象: 如下图可知: clientX:在鼠标事件发生时,鼠标相对于浏览器位置的X轴位置(…

pageX/pageY、clientX/clientY、screenX/screenY的区别

在触发鼠标事件的时候会传一个event参数,在这个参数中我们可以获得pageX/pageY、clientX/clientY、screenX/screenY,但是这几个属性有啥区别呢?看下图 screenX/screenY:其实就是你的鼠标指针距离你电脑屏幕左侧边缘和上侧边缘的距…

event事件坐标详解(clientx, offsetx, screenX等)

鼠标事件(ee||window.event) event.clientX、event.clientY (相对浏览器窗口) //鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条。IE事件和标准事件都定义了这2个属性…

JS 中clientX clientY offsetX offsetY 等属性说明

JS中clientX clientY offsetX offsetY 等属性说明 示意图 event.clientX, event.clientY : 鼠标点击的位置距离 body 的大小event.screenX, event.screenY : 鼠标点击的位置距离 屏幕 的大小event.offsetX, event.offsetY 鼠标点击的位置距离 div盒子 的大小 没有滚动条的情…

clientX与offsetX、clientWidth与offsetWidth的区别

相关属性介绍 都要结合鼠标事件监听使用 1、client相关属性 获取鼠标位置 鼠标相对于视口的位置 e.clientX e.clientY (e是鼠标对象) 获取节点尺寸 节点.clientWidth; 节点.clientHeight;(返回值为数值) clientWidth cont…

图解事件坐标screenX、clientX、pageX, offsetX的区别

一、图解 如图所示,假设页面中灰色圆点是鼠标点击处,黄色区域是鼠标触发事件对象 二、概念 1、screenX 和screenY 参照点:电脑屏幕左上角screenX:鼠标点击位置相对于电脑屏幕左上角的水平偏移量screenY:鼠标点击位置…

clientX、pageX、screenX以及offsetX区别

clientX、pageX、clientX以及offsetX区别 client系列(不包含滚动条) clientX:鼠标相对于浏览器窗口可视区域x方向坐标 clientY:鼠标相对于浏览器窗口可视区域y方向坐标 page系列(包含滚动条) pageX&…

Client/Service

目录 客户--服务器方式 客户程序: 服务程序 TCP连接的建立采用客户服务器方式。主动发起连接建立的应用进程叫做客户(client),而被动等待连接建立的应用进程叫做服务器(server)。 客户--服务器方式 客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户-服务…

js鼠标事件 clientX、clientY、offsetX、offsetY、layerX、layerY、pageX、 pageY、screenX、screenY

MouseEvent的类别有以下: mousedown 鼠标按下mouseup 鼠标释放click 左键单击dblclick 左键双击mousemove 鼠标移动mouseover 鼠标经过mouseout 鼠标滑出mouseenter 鼠标进入mouseleave 鼠标离开contextmenu 右键菜单 注意: 执行顺序:mous…

图解offsetX、offsetY和clientX、clientY和pageX、pageY和screenX、screenY的区别

offsetX、offsetY: 鼠标相对于事件源元素的X,Y坐标。比如说,我给黄色的盒子定义一个点击事件,则这个offset的坐标原点就在这个黄色盒子的左上角 clientX、clientY: 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标)&…

clientX, clientY | offsetX, offsetY | pageX, pageY的区别:

clientX, clientY | offsetX, offsetY | pageX, pageY的区别: ✍ clientX, clientY:指的是鼠标点击位置距离可视窗口的坐标; 图示:在不拉滚动条的情况下 在拉滚动条的情况下: 还是点击位置距离可视窗口左上角的距离 …

clientX和clientY

####需求: 做项目中遇到一个这样的需求,点击属性菜单节点,出现显示框,显示框的位置随着鼠标点击的位置距离而改变。 ###教程: clientX 事件属性 http://www.runoob.com/jsref/event-clientx.html clientY 事件属性 h…

pageX和clientX的区别

目录 定义: 代码求证 结论: 定义: e.page:返回鼠标相对于文档页面的左上角的坐标(滚轮滑动时改变) page的大小页面滚动部分大小距离窗口可视区距离的大小(距离整个文档左上角距离的大小) e.client:返回鼠标相对于浏…

HTML 页面中的位置:clientX、screenX、offsetX、pageX

事件中鼠标的 (x,y) 位置 clientX 鼠标相对于浏览器左上角x轴的坐标; 不随滚动条滚动而改变;clientY 鼠标相对于浏览器左上角y轴的坐标; 不随滚动条滚动而改变;pageX 鼠标相对于浏览器左上角x轴的坐标; 随滚动条滚动而…

JavaScript 中一些概念理解 :clientX、clientY、offsetX、offsetY、screenX、screenY

clientX: 设置或获取鼠标指针位置相对于窗口客户区域的 x 坐标,其中客户区域不包括窗口自身的控件和滚动条。 clientY: 设置或获取鼠标指针位置相对于窗口客户区域的 y 坐标,其中客户区域不包括窗口自身的控件和滚动条。 offset…

JS之clientX,clientY,screenX,screenY,offsetX,offsetY区别测试

首先需要知道clientX,clientY,screenX,screenY,offsetX,offsetY 是鼠标事件对象下的几个属性. 之前也一直对这些属性搞的稀里糊涂,看文档上说的也是不太理解,反正看完一头雾水,所以自己动手亲自测试了一下;说一下自己的理解&…

自学C语言和C++,有什么好书推荐?

C语言 早在20世纪80年代,C语言就已经成为小型计算机(UNIX系统)使用的主流语言。从那以后,C语言的应用范围扩展到微型机(个人计算机)和大型机(庞然大物)。如图1.2所示,许…

C语言程序员必读的5本书

本文由 伯乐在线 - programmer_lin 翻译。未经许可,禁止转载! 英文出处: fromdev。欢迎加入 翻译组。 你正计划着通过看书来学习C语言吗?“书籍是人类最忠诚的朋友“。海明威一定知道书籍对一个人一生的重要性。书籍是知识的丰富…

学 C 语言,最经典的书有这样几本

选择C语言的理由 在过去40多年里,C语言已成为最重要、最流行的编程语言之一。它的成长归功于使用过的人都对它很满意。过去20多年里,虽然许多人都从C语言转而使用其他编程语言(如,C、Objective C、Java等)&#xff0c…