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 с основными источниками, иначе это не будет работать .


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

@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 

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


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

0

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.