ldconfig用法

2023-11-02

1. ldconfig简介

参考:http://man.linuxde.net/ldconfig
linux中ldconfig的使用介绍_chenzixun0的博客-CSDN博客
主要是在默认搜寻目录/lib/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件,缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表。linux下的共享库机制采用了类似高速缓存机制,将库信息保存在/etc/ld.so.cache,程序连接的时候首先从这个文件里查找,然后再到ld.so.conf的路径中查找。为了让动态链接库为系统所共享,需运行动态链接库的管理命令ldconfig,此执行程序存放在/sbin目录下。

ldconfig命令参数:

  • -v或–verbose:ldconfig将显示正在扫描的目录及搜索到的动态链接库,还有它所创建的连接的名字
  • -f CONF:此选项指定动态链接库的配置文件为CONF,系统默认为/etc/ld.so.conf
  • -p或–print-cache:此选项指示ldconfig打印出当前缓存文件所保存的所有共享库的名字。
  • -V:此选项打印出ldconfig的版本信息,而后退出。

从以上可知:

  • /lib/usr/lib里面添加库文件,是无需将路径添加到/etc/ld.so.conf中去的,但是需要使用命令sudo ldconfig,否则无法找到库文件。在上述两个目录之外的路径添加库文件,需要先将将库文件的路径追加入/etc/ld.so.conf,假设库文件在/usr/local/mysql/lib中,可以使用命令:
echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
sudo ldconfig -v | grep mysql  # 查看mysql库文件是否被找到。
  • 若在/lib/usr/lib之外的目录中添加库文件,而又不在/etc/ld.so.conf中写入路径,此时可以用添加环境变量LD_LIBRARY_PATH的做法让系统识别到库文件。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib
  • 可以在/etc/ld.so.conf.d/目录下创建.conf文件来添加库路径。在默认的/etc/ld.so.conf文件中,可以看到有如下内容:
include /etc/ld.so.conf.d/*.conf

说明/etc/ld.so.conf.d/目录下所有的.conf文件都被包含,文件中所有的路径都会被搜索到。
例如:

touch opencv.conf
echo "/user/local/lib" > opencv.conf
sudo ldconfig

 

 2 环境变量配置文件(Ubuntu16.04)

 

  • /etc/profile
    用于设置系统级的环境变量和启动程序,在这个文件下配置会对所有用户生效。当用户登录(login)时,文件会被执行,并从/etc/profile.d目录的配置文件中查找shell设置。如果对/etc/profile修改的话必须重启才会生效

  • /etc/bash.bashrc
    每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。如果想对所有使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改之后不用重启,重新打开一个bash即可生效。

  • ~/.profile
    每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

  • ~/.bashrc
    该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.

  • ~/.bash_logout
    当每次退出系统(退出bash shell)时,执行该文件,通常存放清理工作的命令。

执行顺序

登陆shell
登陆shell时,首先执行/etc/profile,之后执行用户目录下的~/.profile,~/.profile中会执行~/.bashrc

交互式非登陆shell
首先执行/etc/bash.bashrc,之后执行~/.bashrc

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ldconfig用法 的相关文章

  • PyPI 上的轮子平台约束有什么限制吗?

    是否有任何地方 PEP 或其他地方 声明关于 Linux 轮子上传范围的限制 PyPI http pypi io 应该有 具体来说 上传是否被认为是可接受的做法linux x86 64轮子到 PyPI 而不是manylinux1 x86 6
  • 如何访问 mmaped /dev/mem 而不导致 Linux 内核崩溃?

    我有一个简单的程序 尝试访问用户空间中的物理内存 其中内核存储第一个结构页 在 64 位机器上 该地址是 内核虚拟地址 ffffea0000000000 物理地址 0000620000000000 我正在尝试通过用户空间中的 mmap 访问
  • C - 为什么我无法映射较小(256UL 或更小)的内存?

    请告诉我 为什么我的简单应用程序无法映射较小的内存 而且 为什么有这样一个特定的边界 257UL define MAP SIZE 256UL or below fail define MAP SIZE 257UL ok include
  • 推荐用于小型站点的 IRC 服务器 (ircd)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 情况 我想使用 IRC 机器人作为我正在研究的其他代码的通用通信接口 服务器硬件陈旧且内存不足 但运行在相对最新的 Debian GNU
  • Linux“屏幕”的 Windows 等效项还是其他替代方案?

    我正在寻找一种在 Windows 环境中控制程序的方法 我希望它与 Linux 软件有点相似 screen 我搜索的原因是我需要使用标识符启动一个程序 在 Windows 上 这样我以后就能够关闭该特定程序 而无需关闭其他任何程序 即使实际
  • 使用 gcc 理解共享库

    我试图理解 C 中共享库的以下行为 机器一 cat one c include
  • 如何在 Linux 中重新添加 unicode 字节顺序标记?

    我有一个相当大的 SQL 文件 它以 FFFE 的字节顺序标记开头 我使用 unicode 感知的 linux 分割工具将此文件分割成 100 000 行块 但是当将这些传递回窗口时 它确实not与第一个部分以外的任何部分一样 只是它具有
  • 在 Docker 容器中以主机用户身份运行

    在我的团队中 我们在进行开发时使用 Docker 容器在本地运行我们的网站应用程序 假设我正在开发 Flask 应用程序app py具有依赖关系requirements txt 工作流程大致如下 I am robin and I am in
  • 如何重命名 .tar.gz 文件而不提取内容并在 UBUNTU 中创建新的 .tar.gz 文件?

    我有一个命令将创建一个新的 tar gz现有文件中的文件 sudo tar zcvf Existing tar gz New tar gz 该命令将创建一个新的New tar gz从现有的文件Existing tar gz file 谁能告
  • 在 debian wheezy amd64 上安装 ia32-libs

    我正在使用 Debian 7 喘息 amd64 uname a Linux tzwm debian 3 2 0 4 amd64 1 SMP Debian 3 2 51 1 x86 64 GNU Linux 我想安装ia32 libs在我的
  • ubuntu 的 CSS 更少(并且自动编译)? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我尝试过 simples 但现在 l
  • 使用 ProcessBuilder 运行 shell 脚本

    我正在尝试使用 Java 和 ProcessBuilder 运行脚本 当我尝试运行时 我收到以下消息 error 2 没有这样的文件或目录 我不知道我做错了什么 但这是我的代码 ps 我尝试只执行不带参数的脚本 错误是相同的 String
  • SMP 上如何处理中断?

    SMP 对称多处理器 多核 机器上如何处理中断 内存管理单元是只有一个还是多个 假设两个线程 A 和 B 运行在不同的内核上 同时 访问页表中不存在的内存页面 在这种情况下 将会出现页面错误 并从内存中引入新页面 将会发生的事件的顺序是什么
  • 完整的 C++ i18n gettext()“hello world”示例

    我正在寻找完整的 i18ngettext 你好世界的例子 我已经开始了一个基于的脚本使用 GNU gettext 的本机语言支持教程 https web archive org web 20130330233819 http oriya s
  • Ctrl-p 和 Ctrl-n 在 Docker 下表现异常

    For the life of me I can t seem to figure out why ctrl p and ctrl n don t work like they re supposed to under the Docker
  • aarch64 Linux 硬浮点或软浮点

    linux系统有arm64 有arm架构armv8 a 如何知道 Debian 运行的是硬浮动还是软浮动 符合 AAPCS64 GNU GCC for armv8仅提供硬浮动aarch64工具链 这与 armv7 a 的 GCC 不同 后者
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • 从哪里获取 iostream.h

    我正在尝试在 Linux 中做一些事情 但它抱怨找不到 iostream h 我需要安装什么才能获取此文件 这个标准头的正确名称是iostream没有扩展名 如果您的编译器仍然找不到它 请尝试以下操作 find usr include na

随机推荐

  • qt plugins 插件框架

    文章目录 一 插件概念 优点 二 插件框架 1 插件框架要素 2 插件系统的构成 主系统 插件管理器 插件 程序流 二 qt框架下的插件 2 0 插件路径 2 1 Qt提供了两个用于创建插件的API 2 2 通过插件使应用程序可扩展包括以下
  • OmniRing智能戒指:手指上的智能健康管理

    随着电子元件的小型化 智能戒指已经获得了极大的普及 这些技术先进的戒指将时尚与功能相结合 为用户提供触手可及的各种功能 智能戒指可用于各种目的 包括健身跟踪 移动通知 非接触式支付 甚至控制智能家居设备 尽管体积小 但这些设备通常配备传感器
  • LRU(最近最少使用页面置换算法)淘汰算法

    什么是LRU算法 LRU是Least Recently Used的缩写 即最近最少使用页面置换算法 是为虚拟页式存储管理服务的 关于操作系统的内存管理 如何节省利用容量不大的内存为最多的进程提供资源 一直是研究的重要方向 而内存的虚拟存储管
  • verilog实现串口通信发送到数码管

    verilog实现串口通信 实现PC与FPGA的串口通信 按键数码管显示 时钟频率50MHZ 波特率115200 可以修改调整 串口输入数据 发送到数码管上进行显示 在vivado建立工程并综合 顶层模块代码如下 timescale 1ns
  • nginx配置vue项目添加访问前缀

    文章目录 前言 实现需求 Nginx配置访问前端 正确配置 注意点 alias的含义 举个栗子 静态文件及js等404错误 前言 最近 在搞一个SASS系统 将原有的单服务 每次卖出一套啥软件就需要部署一套环境 使得运维人员有些捉襟见肘 产
  • Android开源项目:捕鱼达人游戏源代码

    Android开源项目 捕鱼达人游戏源代码 这是一个Android上的开源项目 捕鱼达人游戏源代码 github上的地址链接是 https github com zhangphil Android BuYuDaRenGame git 内容和
  • 详解YAML语法及占位符语法

    一 设计一个YAML数据结构 首先我们提出这样一个需求 1 一个家庭有爸爸 妈妈 孩子 2 这个家庭有一个名字 family name 叫做 happy family 3 爸爸有名字 name 和年龄 age 两个属性 4 妈妈有两个别名
  • Windows中的时间(SYSTEMTIME和FILETIME)

    上一篇中介绍了C运行库中的时间处理函数 这一篇介绍Windows SDk中提供的时间函数 两种时间系统之间没有本质区别 事实上CRT时间是用Windows时间实现的 当然这是说的VC实现 同样提供本地时间和UTC时间之间的转换 不过CRT中
  • TP5 FIND_IN_SET和数组组合成查询条件

    直接上代码 我的是TP5 0 22版本 map exp Db raw FIND IN SET 字段所包含的值 字段 map status 1
  • vscode使用editorconfig插件以及.editorconfig配置文件说明(统一代码风格工具——editorConfig)

    文档 EditorConfig for VS Code EditorConfig官网 微软说明 editorconfig vscode github 简介 EditorConfig和Prettier一样 都是用来配置格式化你的代码的 这个格
  • Linux环境下安装的Oracle,客户端连接数据库缓慢

    在linux环境下安装的Oracle 客户端每次连接数据库时 都需要进行DNS查询 根据IP查询主机名 但由于DNS服务器不可达 故存在等待超时 导致连接数据库过慢 解决方案 注释掉server上 etc resolv conf中所有行
  • ftp下载文件失败get: Access failed: 550 Failed to open file. (t1.log)

    get Access failed 550 Failed to open file t1 log 原因是被SELinux安全访问控制策略限制了 科普 SELinux Security Enhanced Linux 是美国国家安全局 NAS
  • 虚拟化技术之 VMware Workstation教程(一)

    目录 第一章 虚拟化技术 1 1虚拟化技术简介 1 2主流的虚拟化厂商及产品 第二章 虚拟机的安装 2 1安装VMwareWorkstation 12 2 2物理机所需硬件 2 3在虚拟机中安装Windows 7操作系统 第三章 虚拟机的网
  • 什么是严格模式和混杂模式?如何区分?

    一 什么是严格模式和混杂模式 严格模式 标准模式 浏览器按照W3C标准解析代码 混杂模式 怪异模式 兼容模式 浏览器按照自己的方式解析代码 DOCTYPE的作用 lt DOCTYPE gt 声明叫做文件类型定义 DTD 声明的作用为了告诉浏
  • 【Go】锁相关

    文章目录 Mutex锁 mutex源码分析 Lock UnLock mutex两种运行模式 mutex normal 正常模式 自旋 mutex starvation 饥饿模式 锁的底层实现类型 RWMutex RWMutex 实现 其他共
  • Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么

    目录 Chat GPT是什么 初学者怎么使用Chat GPT 使用Chat GPT需要注意什么 一些简单的prompt示例 Chat GPT是什么 Chat GPT是由OpenAI开发的一种大型语言模型 它基于GPT Generative
  • 超好用的图床-生成图片在线链接

    超好用的图床 最近一直在写博客 但是经常会遇到上传图片的问题 得生成图片的在线链接 也试过各种图床 推荐两个我自己觉得用起来比较舒服方便的图床网站吧 文章目录 超好用的图床 1 路过图床 2 大名鼎鼎的 SM MS 后话 1 路过图床 这个
  • 这次总结的有点多(python)

    关键字不定长参数 可以接收多个未定义参数的关键字赋值 关键字不定长参数的格式 def 函数名 kwargs 函数体 TypeError a is an invalid keyword argument for print def func
  • java中代码和注释缩进_java编码规范_缩进和注释

    1 缩进排版 Indentation 4个空格常被作为缩进排版的一个单位 缩进的确切解释并未详细指定 空格vs 制表符 一个制表符等于n个空格 视具体的编辑器而定 Eclipse默认一个制表符为4个字符 3 1行长度 Line Length
  • ldconfig用法

    1 ldconfig简介 参考 http man linuxde net ldconfiglinux中ldconfig的使用介绍 chenzixun0的博客 CSDN博客 主要是在默认搜寻目录 lib和 usr lib以及动态库配置文件 e