转载:http://www.cnblogs.com/kungfupanda/p/3708799.html

chrpath是用来改变程序的depends lib 的搜索路径的,比如我们一般使用
$ldd  application
    linux-vdso.so.1 =>  (0x00007fff89844000)
    libQt3Support.so.4 => /usr/lib/libQt3Support.so.4 (0x00007f53f7424000)
    libQtSql.so.4 => /usr/lib/libQtSql.so.4 (0x00007f53f71e6000)
    libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0x00007f53f6f9f000)
    libQtNetwork.so.4 => /usr/lib/libQtNetwork.so.4 (0x00007f53f6c84000)
    libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0x00007f53f60d0000)
    libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0x00007f53f5c99000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007f53f5a7d000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f53f576d000)
    libm.so.6 => /lib/libm.so.6 (0x00007f53f54e9000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f53f52d2000)
那么我们现在想改变一个so库的搜索路径,不使用/usr/lib/下面的,而是用/usr/local/lib目录下面的,那么就可以使用chrpath工具了

$chrpath -r "/usr/local/lib/" application
application: RUNPATH=/usr/lib
application: new RUNPATH: /usr/local/lib

$chrpath -c application
application: RUNPATH=/usr/local/lib

$ldd application
    linux-vdso.so.1 =>  (0x00007fff76555000)
    libQt3Support.so.4 => /usr/local/lib/libQt3Support.so.4 (0x00007ff62e8a8000)
    libQtSql.so.4 => /usr/local/lib/libQtSql.so.4 (0x00007ff62e666000)
    libQtXml.so.4 => /usr/local/lib/libQtXml.so.4 (0x00007ff62e41d000)
    libQtNetwork.so.4 => /usr/local/lib/libQtNetwork.so.4 (0x00007ff62e0f0000)
    libQtGui.so.4 => /usr/local/lib/libQtGui.so.4 (0x00007ff62d436000)
    libQtCore.so.4 => /usr/local/lib/libQtCore.so.4 (0x00007ff62cfa6000)

That which didn't kill me makes me stronger

chrpath工具使用的更多相关文章

  1. Unity3d入门 - 关于unity工具的熟悉

    上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功 ...

  2. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

  3. 应用工具 .NET Portability Analyzer 分析迁移dotnet core

    大多数开发人员更喜欢一次性编写好业务逻辑代码,以后再重用这些代码.与构建不同的应用以面向多个平台相比,这种方法更加容易.如果您创建与 .NET Core 兼容的.NET 标准库,那么现在比以往任何时候 ...

  4. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  5. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑

    自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...

  6. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  7. 渗透测试工具BurpSuite做网站的安全测试(基础版)

    渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...

  8. CorelDRAW X8 如何破解激活(附国际版安装包+激活工具) 2016-12-15

    之前有位搞平面的好友“小瘦”说CDR X8无法破解,只能用X7.呃……呃……呃……好像是的 其实CDR8难激活主要在于一个点“没有离线激活了,只可以在线激活”,逆天不是专供逆向的,当然没能力去破解,这 ...

  9. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

随机推荐

  1. Spark RDD概念学习系列之RDD的创建(六)

    RDD的创建  两种方式来创建RDD: 1)由一个已经存在的Scala集合创建 2)由外部存储系统的数据集创建,包括本地文件系统,还有所有Hadoop支持的数据集,比如HDFS.Cassandra.H ...

  2. POJ 2318 TOYS (计算几何,叉积判断)

    TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8661   Accepted: 4114 Description ...

  3. StackOverflowError 和 OutOfMemoryError

    package cn.zno.outofmomery; import java.util.ArrayList; import java.util.List; public class Test { v ...

  4. Java中的多线程操作初探

    问题引出: 说是java,其实还是在做android的时候遇到的问题,在android 4.0以后,访问网络必须在新线程中实现,所以才会遇到这个问题.只是为了方面说明问题,才新建一个java项目.在m ...

  5. 获取和设置localStorage

    东钿金融服务平台 用户第一次访问页面出现,引导步骤,起初一直使用cookie,但是cookie一直不稳定 今天老大说改用localStorage 于是乎百度,查了一篇博客 http://www.cnb ...

  6. C# 浅拷贝与深拷贝

    浅拷贝:给对象拷贝一份新的对象引用地址:(只是给一个对象多起了个名字,所以,当改变拷贝的某个属性的时候,原对象的对应属性亦会改变).浅拷贝的定义—— 只对值类型(或string)类型分配新的内存地址: ...

  7. Data Binding in WPF

    http://msdn.microsoft.com/en-us/magazine/cc163299.aspx#S1   Data Binding in WPF John Papa Code downl ...

  8. android 动画NineOldAndroid

    NineOldAndroid 1.之前我们用到的第动画是frame和tween动画也就是帧动画,补间动画现在多了一种动画,它包含完了前面动画的所有状态. 属性动画(Property Anmation) ...

  9. CloudSTack4.2 查看所有虚拟机API测试

    http://192.168.153.34:8080/ client/api? command=listVirtualMachines &response=json &sessionk ...

  10. 数据库相关文章转载(1) MySQL性能优化之参数配置

    1.目的: 通过根据服务器目前状况,修改Mysql的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能. 2.服务器参数: 32G内存.4个CPU,每个CPU 8核. 3.MySQL目 ...