apt-get не находит предложенный пакет (инструмент perf)

9

Я использую счетчики производительности ( 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.)

Сидя в бухте
источник

Ответы:

3

Вам нужно иметь оба linux-toolsи ядро ​​в одной и той же версии, иначе оно не будет работать:

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

Если вы используете основные ядра, вы должны скомпилировать perf с основными источниками, иначе это не будет работать .

Braiam
источник
Спасибо за ваше объяснение. Да, я понял, что этот пакет довольно требователен (версия заблокирована или около того). Вот почему я обычно прибегаю к его компиляции. Но, тем не менее, цель этого вопроса - избежать компиляции и настроить (каким-либо образом) автоматический выбор подходящих двоичных файлов. Разве нет простого способа сделать это?
Сидя в бухте
@SittingAtTheBay apt обновляет только те пакеты, которые являются бинарными и находятся в репозитории, если нет репозитория (другими словами, если вы скомпилируете его самостоятельно), apt ничего не может сделать для вас. Если вы идете строить из источника, вам нужно все время строить из источников.
Брайам
2

У меня была такая же проблема. Всякий раз, когда я запускаю команду перф, я получаю:

$ 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_2.6.38-16с именем perf.

Надеюсь, кто-то с такой же проблемой может оказаться полезным.

Викрам Датту
источник
0

Откройте свой терминал и введите как

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

Тогда проверьте еще раз.

Если вам не удается получить доступ, установите эти пакеты также и попробуйте снова

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

Тогда проверьте еще раз.

rɑːdʒɑ
источник
Не помогает. У меня уже были установлены все три пакета, о которых вы упоминали (только что проверил дважды)
Sitting At The Bay
0

Для меня проблема была в неправильной версии ядра после обновления моей системы с 13.10 до 14.04.

Исправлена ​​проблема с ядром путем переустановки универсального пакета ядра ( Неправильное ядро ​​после обновления --- старое ядро ​​все еще установлено? ). После этого перф работал отлично.

размывать
источник