linux执行命令缺少共享库解决方法和ldd命令说明

2023-11-03

linux执行命令缺少共享库解决方法和ldd命令说明
[root@xiaogaokui ~]# which ldd
/usr/bin/ldd
[root@xiaogaokui ~]# file /usr/bin/ldd
/usr/bin/ldd: Bourne-Again shell script, ASCII text executable

ldd是一个shell脚本,ldd可以列出一个程序所需要得动态链接库(so)
[root@xiaogaokui ~]# ldd /usr/bin/ls
linux-vdso.so.1 => (0x00007ffd84fe7000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f46407cf000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f46405ca000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007f46403c0000)
libc.so.6 => /lib64/libc.so.6 (0x00007f463fffd000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f463fd9b000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f463fb96000)
/lib64/ld-linux-x86-64.so.2 (0x0000561fa1b64000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f463f991000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f463f775000)
注意:在 ldd 命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称,
右边表示由 Linux 的共享库系统找到的对应的共享库在文件系统中的具体位置。
默认情况下,/etc/ld.so.conf 文件中包含有默认的共享库搜索路径。

[root@xiaogaokui ~]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# 如果需要,将所需共享库绝对路径卸载此处
# 或者在/etc/ld.so.conf.d/下新增conf文件引用共享库绝对路径
新增系统共享库需要运行ldconfig,用来属性系统的共享库缓存
为了减少共享库系统的库搜索时间,共享库系统维护了一个共享库 so 名称的缓存文件/etc/ld.so.cache。
因此,在安装新的共享库之后,一定要运行 ldconfig 刷新该缓存。

LD_LIBRARY_PATH是Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。
移植程序时的经常碰到需要使用一些特定的动态库,而这些编译好的动态库放在我们自己建立的目录里,
这时可以将这些目录设置到LD_LIBRARY_PATH中。
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$LD_BIBRARY_PATH

运行命令常见报错:
error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
1.通过ldd脚本检测命令所需动态链接库
# ldd 命令
libappindicator3.so.1 => not found
2.在系统上安装共享库或者find
3.建立映射关系
# ln -s /xx/libc.so.6 /usr/bin/libc.so.6
4.source变量LD_LIBRARY_PATH

[oracle@xiaogaokui ~]$ ldd --help
Usage: ldd [OPTION]... FILE...
--help print this help and exit
--version print version information and exit
-d, --data-relocs process data relocations
-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information

For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.

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

linux执行命令缺少共享库解决方法和ldd命令说明 的相关文章

  • Docker:如何创建堆栈、多个映像或一个基础映像?

    I am new using Docker and I got the doubt of using one image base for my stack or I have to define each image depending
  • SDL - 窗口不显示任何内容

    我正在执行 SDL C 的第一步 并从 www sdl org 上学习了一些教程 但有一个问题 我已经在我的 Linux Mint 系统上安装了 SDL2 编译了教程代码 ifdef cplusplus include
  • 如何在bash中使用kill SIGUSR2?

    我在linux中使用iptraf来监控网络流量 shell命令是 让iptraf在后台运行 iptraf s eth0 f B L traffic dat 如果我想得到结果 我必须先停止 iptraf 所以我使用 shell 命令 kill
  • sed 将带空格的行插入到特定行

    我在开头有一行空格 例如 Hello world 我想将此行插入到文件中的特定行 例如 将 hello world 插入下一个文件 hello world result hello hello world world 我正在使用这个 sed
  • 如何从脚本编辑 /etc/sudoers?

    我需要编辑 etc sudoers从脚本中添加 删除白名单中的内容 假设我有一个可以处理普通文件的命令 我如何将其应用到 etc sudoers 我可以复制并修改它 然后有visudo用修改后的副本替换原始版本 通过提供我自己的脚本 EDI
  • Pthreads - 高内存使用率

    我正在用 C 编写一些东西 在 256Mb 系统上的 Linux 中创建大量 Pthread 我通常有 200Mb 的免费空间 当我使用少量线程运行该程序时 它可以工作 但是一旦我让它创建大约 100 个线程 它就会出现错误 因为系统内存不
  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • 选择fasta文件中氨基酸超过300个且“C”出现至少4次的序列

    我有一个包含蛋白质序列的 fasta 文件 我想选择超过 300 个氨基酸且半胱氨酸 C 氨基酸出现超过 4 次的序列 我使用此命令来选择具有超过 300 个 aa 的序列 cat 72hDOWN fasta fasta bioawk c
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • Linux中如何避免sleep调用因信号而中断?

    我在 Linux 中使用实时信号来通知串行端口中新数据的到达 不幸的是 这会导致睡眠呼叫在有信号时被中断 有人知道避免这种行为的方法吗 我尝试使用常规信号 SIGUSR1 但我不断得到相同的行为 来自 nanosleep 联机帮助页 nan
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • 为什么 OS X 和 Linux 之间的 UTF-8 文本排序顺序不同?

    我有一个包含 UTF 8 编码文本行的文本文件 mac os x cat unsorted txt foo foo 津 如果它有助于重现问题 这里是文件中确切字节的校验和和转储 以及如何自己生成文件 在 Linux 上 使用base64 d
  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • Ruby:在 Ubuntu 上安装 rmagick

    我正在尝试在 Ubuntu 10 04 上安装 RMagick 看起来here https stackoverflow com questions 1482823 is there an easy way to install rmagic
  • 为什么此 NASM 代码会打印我的环境变量?

    本学期我刚刚完成计算机体系结构课程 除其他外 我们一直在涉足 MIPS 汇编并在 MARS 模拟器中运行它 今天 出于好奇 我开始在我的 Ubuntu 机器上摆弄 NASM 基本上只是将教程中的内容拼凑起来 并感受一下 NASM 与 MIP
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 如何在线程创建和退出时调用函数?

    include
  • Linux 使用 boost asio 拒绝套接字绑定权限

    我在绑定套接字时遇到问题 并且以用户身份运行程序时权限被拒绝 这行代码会产生错误 acceptor new boost asio ip tcp acceptor io boost asio ip tcp endpoint boost asi

随机推荐

  • 抖音api开放平台对接_抖音视频API解析接口

    发布抖音视频接口一枚 无限制免费调用 但需要AppKey 更新 2019 09 23 1 视频统计信息公开 2019 06 23 1 修复无水印解析失败BUG 2 接口返回内容调整 已获取视频播放量等统计信息 目前暂未公开 接口地址 htt
  • Connect was not declared in this scope

    QT程序中的事件机制是通过SIGNAL SLOT 信号 槽 来实现的 创建一个信号与槽的连接就是使用connect方法 它是QObject类下面的一个静态方法 基本上 所有的QT对象的基类都是QObject 所以 在非QObject的派生类
  • alsa-lib应用层接口分析

    ALSA lib接口调用简介 ALSA逻辑 在我当前看来 总共有两条线 1 录放音流控 2 amixer cset控件 录放音流控 自定义名称 相当于操作OSS的 dev dsp设备 可以设置三大参数等 并且启动录放音 这里 aplay m
  • Spring Boot底层原理详解及整合

    Spring Boot框架 通过Spring Boot 可以构建一个基于Spring框架的Java Application 简化配置 自动装配 开箱即用 JavaConfiguration用Java类代替XML的配置方式 Spring Bo
  • Java实现图的深度和广度优先遍历算法

    概述 最近要学习写网络爬虫 所以把图的深度和广度搜索都再温习一下 图结构展示 实现过程 首先 我们来看看图结构在代码中的实现 有三块逻辑 1 图中的节点 java view plain copy public class GraphNode
  • MongoDB(三):MongoDB图形化界面工具

    一 下载 MongoDBCompass 官方提供的 下载地址 https www mongodb com download center compass jmp docs 二 解压 启动 三 启动MongoDB 连接MongoDB服务 出现
  • Vue笔记——Vue组件中引入jQuery

    如果想在普通的HTML页面引入jQuer库的话 直接使用即可 但是如果要在Vue组件中使用jQuery库的话 使用这样的方式就不行了 需要使用以下方法 一 安装jQuery依赖 在使用jQuery之前 我们首先要通过以下命令来安装jQuer
  • Json字符串属性里面有逗号问题

    今天小编写 代码时候 后台给我返回的一个json字符串 name group id 123 所以不能通过name group id这样来 取值 不然会报没有id属性 看到这里相信很多程序员和小编一样肯定会骂后台传递的值不对 小编也是这样骂的
  • 快速排序详解(图解实例)

    快速排序 Quicksort 是对冒泡排序的一种改进 它的基本思想是 通过一趟排序将要排序的数据 分割成独立的两部分 其中一部分的所有数据都比另外一部分的所有数据都要小 然后再按此方法 对这两部分数据分别进行快速排序 整个排序过程可以递归进
  • 红外人体感应传感器SR602模块使用说明

    一 HC SR602模块 红外人体感应传感器HC SR602是基于红外线技术的自动控制模块 专用于感应周围人体的存在 该模块相较于HC SR501 灵敏度较高 抗干扰能力大 且简单易用 二 HC SR602模块主要参数 工作电压 3 3V
  • 使用手柄控制Unity及效果展示(1)

    Unity支持手柄的控制 效果图如下所示 这是一篇针对手柄控制U3D入门的过程记载 主要以实现功能为目的 分四个部分进行过程展示 Input System包的下载 设备的查找 Input Actions控件的使用 主要代码的解释及编写 这里
  • 【css】落叶飘动效果,点击落叶飘动停止

    做项目有个需求是要求做落叶下落效果 做了一下 整体是依靠css中animation属性来控制的 keyframes move控制动画轨迹 使用伪元素checked控制动画运行和暂停 css3文档中有这样的例子 利用伪元素checked控制动
  • python 删除一个字符串内重复的内容

    使用py将 a dai liu dai 去掉重复的dai a dai liu dai a list a split 将字符串拆分成列表 a set set a list 将列表转换为集合 去除重复的元素 result join a set
  • jest搭建vue项目单元测试-vue-cli创建新项目

    说到项目会分为新建的醒目和老项目两种 我们先来说新项目 新项目加入jest单元测试 1 创建项目 使用vue脚手架创建项目 test vue jest vue create test vue jest 2 创建项目过程中配置选项 在配置项中
  • OK彻底解决ping主机ping虚拟机之间ping不通的问题

    时间轴 一个月前 2022 8 重新玩虚拟机 因为计算机网络这块不扎实 知识点模糊 不懂其中各种原由 当然现在也不是很明白 后续还需要系统的回顾 在那是一直有几个问题 遇到以下问题需要解决 1 怎么选择桥接 nat的连接方式 现在也不清楚
  • 第七章 单行函数

    MySQL系列文章目录 http t csdn cn YTPe9 文章目录 MySQL系列文章目录 前言 一 函数的理解 1 什么是函数 2 不同DBMS函数的差异 3 MySQL的内置函数及分类 二 数值函数 1 基本函数 2 角度与弧度
  • C 语言char类型与int类型的转化

    目录 一 char转int 法一 直接转换 ASSCII编码表 ASCII可显示字符 法二 利用库函数转换 二 数字换成字符串 1 用sprintf 2 用库函数 char和int的转换有两种方式 这两种方式适合于在输出时使用 一 char
  • Android studio实现个人体重指数计算

    Java代码 package com example work1 import android app Activity import android app AlertDialog import android content Dialo
  • 基于 Android NDK 的学习之旅----- C调用Java(附源码)

    许多成熟的C引擎要移植到Android 平台上使用 一般都会 提供 一些接口 让Android sdk 和 jdk 实现 下文将会介绍 C 如何 通过 JNI 层调用 Java 的静态和非静态方法 1 主要流程 1 新建一个测试类TestP
  • linux执行命令缺少共享库解决方法和ldd命令说明

    linux执行命令缺少共享库解决方法和ldd命令说明 root xiaogaokui which ldd usr bin ldd root xiaogaokui file usr bin ldd usr bin ldd Bourne Aga