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

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

版权声明:本文为wct3344142原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。