首页 > 系统相关 >Linux平台关于可执行程序的动态库加载路径(rpath)的查看与修改

Linux平台关于可执行程序的动态库加载路径(rpath)的查看与修改

时间:2022-12-20 17:33:46浏览次数:44  
标签:ORIGIN executable lib rpath chrpath Linux 可执行程序


Linux平台关于可执行程序的动态库加载路径(rpath)的查看与修改

  1. chrpath(change run path)
sudo apt-get install chrpath -y

·查询rpath:

chrpath -l path/to/executable
#or
readelf -d executable |grep RPATH

·修改rpath:($ORIGIN是一个特殊的变量,指示实际的可执行文件名。它在运行时解析到可执行文件的位置,在设置RPATH时非常有用)

chrpath -r "\$ORIGIN:\$ORIGIN/lib:\$ORIGIN/../lib" executable
  1. patchelf
sudo apt-get install patchelf -y

·查询rpath:

# patchelf主要用来修改rpath,因此读取rpath还是得用readelf
readelf -d executable |grep RPATH

·修改rpath:

patchelf --set-rpath "\$ORIGIN:\$ORIGIN/lib:\$ORIGIN/../lib" executable
  1. 通过环境变量指定可执行程序加载库路径
vim ~/.bashrc
export LD_LIBRARY_PATH=/home/user/libs
source ~/.bashrc


标签:ORIGIN,executable,lib,rpath,chrpath,Linux,可执行程序
From: https://blog.51cto.com/u_15918664/5956361

相关文章

  • Linux 安装 Mysql
    一、下载安装包安装包下载​​https://downloads.mysql.com/archives/community/​​选择自己要下载的版本下载二、上传到Linux机器进行解压tar-zxvfmysql-5.7.39-linux......
  • Linux 的 diff 命令
     Linuxdiff(diff即different简写)命令用于比较文件的差异。diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较......
  • 部署Kubernetes(k8s)时,为什么要关闭swap、selinux、firewalld
    作者:知乎用户链接:https://www.zhihu.com/question/374752553/answer/2665255695来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。防火墙和s......
  • Linux中dma的cache管理
    概述前两周有人询问DMA下的cache操作和dma-coherent。以前零碎看过代码。临时找,还没有找到。这两天整理了调用流程,也找到了dma-coherent的用法。Linux的文档里没有详细说......
  • 常用 Linux 命令
    1.查看当做操作目录位置   >pwd2.查看(当前)目录里边的文件内容   >ls               //list   >ls -l 或ll     //显示文件......
  • 使用linux的ffmpeg进行B站直播推流
    很久之前买了个友善的开发板R2S,一直在家吃灰。最近看到网上有用ffmpeg进行直播推流的案例,想把吃灰的的开发板利用起来,于是有了这篇教程。第一步:安装ffmpegsudoaptupdat......
  • 【Linux】压缩和解压:gzip、gunzip、zip、unzip、tar
    1.gzip、gunzip只能压缩文件不能压缩目录不保留原来的文件同时多个文件会产生多个压缩包命令描述gzipa.txt将文件压缩为*.gz文件gunzipa.txt.gz解压......
  • Linux 网卡带宽
    在讲Linux网卡带宽前,先说一下网络带宽的概念。1、网络带宽1.1概念网络带宽是指在单位时间(一般指的是1秒钟)内能传输的数据量。网络和高速公路类似,带宽越大,就类似高......
  • Linux四剑客之awk
    awk,可以说是一门语言了,单行脚本;取行;取列;混合取行与列;判断与循环;数组;格式:类似sedawk选项'条件{动作}'文件条件:找谁;动作:干啥取出/etc/passwd第1列第3列和最后一列,注$0是......
  • 如何在 Linux 下使用 TC 优雅的实现网络限流
    1.Linux下的流量控制原理通过对包的排队,我们可以控制数据包的发送方式。这种控制,称之为数据整形,shapethedata,包括对数据的以下操作:增加延时丢包重新排列重复、损坏速率......