apt-get 没有找到建议的包(perf 工具)

apt-get 没有找到建议的包(perf 工具)

我正在使用性能计数器(https://perf.wiki.kernel.org/index.php/Main_Page) 在 Ubuntu 13.10 x86_64 上。如果我输入,perf我会得到:

perf not found for kernel 3.11.0-031100
You may need to install linux-tools-3.11.0-031100-generic

apt-get install ...没有找到

E: Unable to locate package linux-tools-3.11.0-031100-generic

uname -r返回3.11.0-031100-generic,即略有不同的内核名称(Ubuntu 默认为 3.11.0-13-generic)

我怎么能够默认情况下安装与内核匹配的正确二进制文件(和/或我必须为此添加哪些存储库)?

(我知道我可以通过从 /tools/perf/ 中的内核源代码进行编译来解决这个问题;这可行,但理想情况下,我希望通过 apt 自动完成它。)

答案1

你需要同时拥有这两个linux-tools和内核同一版本否则它将不起作用:

sudo apt-get install linux-tools linux-generic
sudo reboot

如果你使用主线内核,则必须根据主线源代码编译 perf,否则不起作用

答案2

我遇到了同样的问题。每当我启动 perf 命令时,我都会得到:

$ perf
perf_2.6.38-1208 not found
You may need to install linux-tools-2.6.38-1208

但实际上 perf 是通过安装linux-tools包来安装的,只是名称不同perf_2.6.38-16

因此,我可以使用 perfperf_2.6.38-16命令来代替perf

您可以为perf_2.6.38-16具有名称的创建别名perf

希望有同样问题的人会发现它很有用。

答案3

打开终端并输入

sudo apt-get install linux-lowlatency-tools-3.11.0-11

然后再检查。

如果失败,请安装这些软件包,然后重试

sudo apt-get install linux-tools-common linux-base 

然后再检查。

答案4

对我来说,问题在于将系统从 13.10 升级到 14.04 后出现错误的内核版本。

通过重新安装通用内核包修复了内核问题(升级后内核错误---旧内核仍然安装?)。 此后,perf 就可以完美运行了。

相关内容