apt-get ne trouve pas le paquet suggéré (outil perf)

9

J'utilise des compteurs de performances ( https://perf.wiki.kernel.org/index.php/Main_Page ) sur Ubuntu 13.10 x86_64. Si je tape perfje reçois:

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

Mais apt-get install ...ne le trouve pas

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

uname -rrenvoie 3.11.0-031100-generic, c'est-à-dire un nom de noyau légèrement différent (la valeur par défaut d'Ubuntu est 3.11.0-13-générique)

Comment puis-je par défaut installer les bons fichiers binaires correspondant au noyau (et / ou quels dépôts dois-je ajouter pour cela)?

(Je sais que je peux contourner ce problème en le compilant à partir des sources du noyau dans / tools / perf /; cela fonctionne, mais idéalement, je veux le faire automatiquement via apt.)

Assis à la baie
la source

Réponses:

3

Vous devez avoir les deux linux-toolset le noyau dans la même version ou cela ne fonctionnera pas:

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

Si vous utilisez des noyaux de ligne principale, vous devez compiler perf par rapport aux sources de ligne principale, sinon cela ne fonctionnera pas .

Braiam
la source
Merci pour votre explication. Oui, je pensais que ce paquet était assez difficile (version verrouillée ou plus). C'est pourquoi je retombe habituellement sur la compilation. Mais encore, l'intention de la question est d' éviter la compilation et d'avoir apt configuré (en quelque sorte) pour choisir automatiquement les binaires correspondants. N'y a-t-il pas un moyen facile de le faire?
Assis à la baie
@SittingAtTheBay apt met uniquement à jour les packages qui sont des binaires et qui sont dans le référentiel, s'il n'y a pas de référentiel (en d'autres termes, si vous le compilez vous-même) apt ne peut rien faire pour vous. Si vous allez construire à partir de la source, vous devez aller construire à partir de souces tout le long.
Braiam
2

J'avais le même problème. Chaque fois que je lance une commande de perf, j'ai:

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

Mais en fait, perf a été installé en installant le linux-toolspackage, mais c'était avec un nom différent perf_2.6.38-16.

Donc, je peux utiliser perf avec perf_2.6.38-16commande au lieu de perf.

Vous pouvez créer un alias pour perf_2.6.38-16avec le nom perf.

J'espère que quelqu'un avec le même problème pourra le trouver utile.

Vikram Dattu
la source
0

Ouvrez votre terminal et saisissez

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

Vérifiez ensuite à nouveau.

S'il ne vous parvient pas, installez également ces packages, puis réessayez

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

Vérifiez ensuite à nouveau.

rɑːdʒɑ
la source
N'aide pas. J'avais les trois packages que vous mentionnez déjà installés (revérifié tout à l'heure)
Sitting At The Bay