源码编译Linux perf如何修改安装目录?移动perf会损坏链接吗?
自定义perf安装路径的操作方法
不需要修改Makefile配置,perf的编译安装流程直接支持通过make参数指定安装位置,对应你要安装到~/bin/test目录实现版本隔离的需求,直接在安装命令中追加路径参数即可:
- 如果希望perf可执行文件直接存放于
~/bin/test目录,执行以下命令:
PYTHON=python3 make -C tools/perf bindir=~/bin/test install
- 如果希望perf的二进制、配套脚本、依赖资源全部统一放在
~/bin/test目录层级下(可执行文件会自动落在~/bin/test/bin子目录),执行以下命令:
PYTHON=python3 make -C tools/perf prefix=~/bin/test install
如果之前已经完成过全量编译,不需要执行make clean,直接跑上述带路径参数的install命令即可,不会重复执行编译流程,只会完成文件安装操作,速度很快。
安装完成后可以执行~/bin/test/perf --version(如果用prefix参数则执行~/bin/test/bin/perf --version),确认版本符合预期即可。日常使用时可以通过写全路径调用新版本,也可以临时将对应目录加到PATH变量最前方,不会覆盖原有~/bin路径下的旧版本perf。
直接移动已编译perf文件的影响
不建议直接移动已经编译安装完成的perf二进制文件。
perf并非单一静态可执行文件,运行时会加载编译阶段预设路径下的大量配套资源,包括PMU事件映射表、Intel PT等功能的解析逻辑、Python扩展脚本、trace事件配置文件等。直接挪动二进制位置会导致程序找不到对应资源,轻则出现部分功能失效、事件解析报错、脚本扩展不可用的问题,重则程序直接无法启动。
如果需要调整安装位置,最稳妥的方式就是用带正确路径参数的install命令重新安装,不会出现路径关联错误。
内容的提问来源于stack exchange,提问作者Farzam
相关产品推荐
相关产品推荐

