web-dev-qa-db-ja.com

apt-getが推奨パッケージを見つけられない(perfツール)

Ubuntu 13.10 x86_64でパフォーマンスカウンター( https://perf.wiki.kernel.org/index.php/Main_Page )を使用しています。 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 -r3.11.0-031100-genericを返します。つまり、わずかに異なるカーネル名(Ubuntuのデフォルトは3.11.0-13-generic)です

デフォルトでは、カーネルに一致する正しいバイナリをインストールできますか(および/またはこのためにどのリポジトリを追加する必要がありますか)?

(/ tools/perf /のカーネルソースからコンパイルすることでこの問題を回避できることはわかっていますが、これは機能しますが、aptを介して自動的に実行するのが理想的です。)

9

linux-toolsとカーネルの両方が同じバージョンである必要があります。そうでない場合は動作しません:

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

メインラインカーネルを使用している場合は、メインラインソースに対してperfをコンパイルする必要があります。そうしないと動作しません

3
Braiam

私は同じ問題を抱えていました。私が取得した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でした。

したがって、perfの代わりにperf_2.6.38-16コマンドでperfを使用できます。

perfという名前のperf_2.6.38-16のエイリアスを作成できます。

同じ問題を抱えている人がそれを役に立つと思うことを願っています。

2
Vikram Dattu

私にとって、問題はシステムを13.10から14.04にアップグレードした後のカーネルのバージョンが間違っていたことです。

汎用カーネルパッケージを再インストールして、カーネルの問題を修正しました( アップグレード後のカーネルが間違っています---古いカーネルはまだインストールされていますか? )。その後、perfは完全に機能しました。

0
fret

ターミナルを開き、次のように入力します

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

その後、もう一度確認してください。

取得できない場合は、これらのパッケージもインストールしてから再試行してください

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

その後、もう一度確認してください。

0
rɑːdʒɑ