Linux-chrpath指令

chrpath指令用于改变程序的rpath/runpath,从而改变程序运行时的动态库搜索路径,常见用法为

chrpath -r "/path/to/shared_library" binary_name
chrpath -r "$ORIGIN:/$ORIGIN/../lib"

第一种用法将一个指定的路径替换原程序的rpath/runpath。
第二种用法中的$ORIGIN表示程序所在路径
查看程序rpath/runpath

chrpath -l binary_name

RPATH与RUNPATH

含义都可以理解为Runtime Library Path,即动态库的搜索路径,但是两者有细微区别,rpath可以与LD_LIBRARY_PATH一起使用,而runpath指定后,即使在LD_LIBRARY_PATH指定了路径,也不会搜索LD_LIBRARY_PATH的路径,这是为了防止恶意的so攻击

你可能感兴趣的:(Linux,linux,运维,服务器,c++,cmake)