O apt-get não encontra o pacote sugerido (ferramenta perf)

9

Estou usando contadores de desempenho ( https://perf.wiki.kernel.org/index.php/Main_Page ) no Ubuntu 13.10 x86_64. Se eu digitar perf, recebo:

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

Mas apt-get install ...não encontra

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

uname -rretorna 3.11.0-031100-generic, ou seja, um nome de kernel ligeiramente diferente (o padrão do Ubuntu é 3.11.0-13-generic)

Como posso instalar por padrão os binários corretos correspondentes ao kernel (e / ou que repositórios tenho que adicionar para isso)?

(Eu sei que posso contornar isso, compilando-o a partir das fontes do kernel em / tools / perf /; isso funciona, mas, idealmente, eu quero que seja feito automaticamente via apt.)

Sentado na Baía
fonte

Respostas:

3

Você precisa ter ambos linux-toolse o kernel na mesma versão ou ele não funcionará:

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

Se você estiver usando kernels da linha principal, deverá compilar o perf em relação às fontes da linha principal, caso contrário não funcionará .

Braiam
fonte
Obrigado pela sua explicação. Sim, achei que este pacote é bastante exigente (versão bloqueada ou mais). É por isso que costumo voltar a compilá-lo. Mas ainda assim, a intenção da pergunta é evitar a compilação e ter o apt configurado (de alguma forma) para escolher os binários correspondentes automaticamente. Não existe uma maneira fácil de fazer isso?
Sentado no Bay
O @SittingAtTheBay apt atualiza apenas pacotes binários e estão no repositório, se não houver repositório (em outras palavras, se você o compilar), o apt não pode fazer nada por você. Se você for construindo a partir da fonte, precisará construir a partir de fontes por todo o caminho.
Braiam
2

Eu estava tendo o mesmo problema. Sempre que eu aciono o comando perf, recebo:

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

Mas, na verdade, o perf foi instalado instalando o linux-toolspacote, mas tinha um nome diferente perf_2.6.38-16.

Então, eu sou capaz de usar perf com perf_2.6.38-16comando em vez de perf.

Você pode criar um alias para perf_2.6.38-16com o nome perf.

Espero que alguém com o mesmo problema possa achar útil.

Vikram Dattu
fonte
0

Abra seu terminal e digite como

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

Depois verifique novamente.

Se não conseguir, instale também esses pacotes e tente novamente

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

Depois verifique novamente.

rɑːdʒɑ
fonte
Não ajuda. Eu tinha todos os três pacotes que já mencionar instalados (duplo verificados apenas agora)
Sitting At The Bay