Eu tenho um tarball de origem: ap-kernelmodule-1.0.14-13.tar.gz
tenho que compilar um módulo do kernel e fui instruído a instalar ferramentas de desenvolvimento para a minha versão do Ubuntu (que é a 12.10). O formato é:sudo apt-get install linux-headers-$(uname -r) build-essential
Pergunta # 1: o que é uname
?
(Quando instalei o Ubuntu, insiro sharon como meu nome e que também é o nome da minha conta. Sempre que abro uma janela de terminal, as palavras sharon@sharon:
aparecem) Com base no formato, devo inserir:
sudo apt-get install linux-headers-$(sharon -r) build-essential
ou
sudo apt-get install linux-headers-$sharon -r build-essential
Pergunta 2: Qual das alternativas acima está correta?
(Eu sou novo no Linux e Ubuntu; portanto, instruções detalhadas são apreciadas)
12.10
development
tools
n00b
fonte
fonte
Respostas:
Não copie meus comandos, você deve digitá-los e usar a tecla tab, pois meu kernel pode ser diferente do seu. Eu explico jogo por jogo:
Abra um terminal e digite:
Esta atualização fornece ao computador um alerta dos arquivos que você pode precisar. Mas nenhum arquivo é baixado, apenas informações sobre o que pode ser baixado. Se você não fez isso primeiro, talvez não tenha o link mais recente para atualizações de segurança ou para as versões mais recentes do software.
Enquanto você digita, pressione a tecla Tab para finalizar seu comando. Comece a digitar o comando que será instalado
build-essential
. Depois de chegar até aqui:A próxima parte que deve aparecer será o seu kernel Linux. Então abra outro terminal e digite:
Você deve ver algo assim:
Agora volte ao outro terminal e pressione tab como tipo. Você deve ver seu kernel aparecer. Escolha aquele.
Agora digite um espaço e adicione essencial à compilação (não se esqueça de usar sua guia para concluir).
Agora pressione enter e os arquivos serão baixados para ajudá-lo a compilar o código.
fonte
uname
é um comando que deve ser inserido na linha de comando. Portanto, se você abrir um terminal e digitar,uname
ele gera a palavraLinux
. No comando que você mencionou, você encontra-r
. Esta é uma opção parauname
. Ele instruiuname
a imprimir o número da versão do kernel. Portanto, basicamente imprimirá alguns números (como 3.2.0-41-amd64).Você deve digitar o comando
como está escrito. O
$(something)
comando diz à sua linha de comando (melhor palavra seria shell) para executar o comandosomething
e inserir a saída desse comando.Portanto, no seu
uname
caso (assumindo que o número que escrevi esteja correto, o que pode não estar no seu caso), o comando que é executado ésudo apt-get install linux-headers-3.2.0-41-amd64 build-essential
. Basicamente, você pode procurar sua versão do kernel e inseri-la manualmente.Como você vê agora, nenhuma de suas versões está correta. A solução parece um pouco diferente.
fonte