desculpas pela pergunta noob, mas quando tento
sudo apt-get install Linux-kernel-devel
Eu recebo o seguinte:
sudo apt-get install linux-kernel-devel
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-kernel-devel
Eu tentei o seguinte:
sudo apt-get install linux-headers-$(uname -r)
sudo apt-get install build-essentials
sudo apt-get install Linux-headers-generic
sem alegria ... alguma sugestão?
installation
kernel
package-management
Paschwan
fonte
fonte
Respostas:
Sumário executivo
Você provavelmente deseja instalar o pacote chamado
linux-headers-generic
.Se a execução
uname -r
fornecer algo diferente degeneric
depois do número da versão, substitua porgeneric
inlinux-headers-generic
. (Pode serserver
ougeneric-pae
em algumas instalações de algumas versões do Ubuntu, e existem alguns outros "sabores" ocasionais do kernel)Como você provavelmente precisa disso para poder criar um driver (que pode ser automatizado, você pode não estar "construindo você mesmo"), é uma boa ideia instalar
build-essential
também para torná-lo, para que você provavelmente tenha todas as ferramentas necessárias .Explicação completa
Que eu saiba, nenhum sistema operacional possui um pacote chamado
Linux-kernel-devel
. Isso ocorre por dois motivos:É comum que pacotes relacionados ao kernel em sistemas que usam o Red Hat Package Manager (
rpm
) e utilitários relacionados tenhamkernel
o nome de seus pacotes. Por exemplo, a Mageia possui vários pacotes cujos nomes começamkernel
e terminam emdevel
. Esses pacotes quase sempre (na Mageia e em qualquer sistema operacional que os possua) fornecem os arquivos de cabeçalho necessários para criar drivers a partir da fonte para uso com o kernel. Eles também podem fornecer utilitários relacionados para facilitar. Estes pacotes:No Ubuntu, como pode ser visto na lista aqui , os pacotes que fornecem cabeçalhos de kernel têm nomes que começam com
linux-headers
. Geralmente o pacote correto para instalar élinux-headers-generic
. No entanto, para ter certeza de qual pacote instalar para obter os cabeçalhos que correspondem ao seu kernel atualmente em execução, execute:Você obterá resultados parecidos com:
Ou seja, você terá um número de versão (que incluirá
.
caracteres e geralmente pelo menos um-
), seguido por a-
, seguido por uma ou mais palavras indicando que tipo de kernel você está executando.Se você apenas deseja que os cabeçalhos da versão específica em execução agora, você pode instalar o pacote cujo nome é
linux-headers-*
onde*
é substituído pela saída completa deuname -r
. Por exemplo, no meu sistema, eu poderia executar:Eu poderia até automatizar:
Essas abordagens são equivalentes, mas geralmente não são o melhor caminho a percorrer.
Em vez disso, você geralmente desejará instalar o metapacote que sempre fornece os cabeçalhos do kernel mais recentes como uma atualização (dependendo perpetuamente de qualquer pacote de cabeçalho mais recente). Isso é paralelo ao modo como o kernel compilado e em execução é instalado e atualizado. Para fazer isso, observe apenas a parte da
uname -r
saída após o número da versão. Ou seja, seuname -r
você der3.5.0-36-generic
, pegue apenas ageneric
parte.Em seguida, instale o pacote chamado
linux-headers-*
where*
é substituído por essa parte. Então, no meu sistema, serialinux-headers-generic
e uma maneira de instalá-lo seria:Para a maioria das pessoas é
linux-headers-generic
, mas dependendo do que Ubuntu liberar você está funcionando, o que a arquitetura eo tipo de dispositivo que você está executando-o em, e como ele é instalado e configurado, outras possibilidades incluemgeneric-pae
,highbank
,omap
,server
, evirtual
.Pacotes relacionados
Os arquivos de cabeçalho facilitam o desenvolvimento e a compilação / construção de software que utiliza os recursos fornecidos pelo software cujos arquivos de cabeçalho estão sendo usados. O motivo mais comum para você precisar dos cabeçalhos do kernel é se você deseja criar um driver (um módulo do kernel) a partir do código-fonte. Algumas aplicações, como VMware e VirtualBox, às vezes exigem isso e automatizam a compilação.
Além dos arquivos de cabeçalho, para compilar o software, é necessário um compilador e outras ferramentas. Para maximizar a probabilidade de você ter as ferramentas necessárias, é uma boa ideia instalar o
build-essential
pacote também.É incomum alguém precisar do código fonte completo do kernel (a menos, é claro, que você esteja planejando criar seu kernel a partir do código-fonte). Mas se você precisar, precisará instalar outro pacote também. No Ubuntu, o pacote para o código fonte completo do kernel é chamado
linux-source
. (Isso está de acordo com a convenção Debian / Ubuntu de nomear pacotes que fornecem partes substanciais do kernel Linux emlinux
vez dekernel
).Se você ainda tiver problemas
Se você tentar instalar qualquer um desses pacotes, mas tiver problemas, e precisar de ajuda, precisará incluir o texto completo e exato do Terminal, incluindo as linhas em que você digitou os comandos. A melhor maneira de fornecer isso é editando sua pergunta, mas se for muito longa, você pode colá-la em algum lugar como http://paste.ubuntu.com e fornecer a URL onde podemos acessá-la.
Se você comentar esta pergunta, serei notificado. Você pode editar sua pergunta e também comentar aqui para chamar a atenção para as informações fornecidas na sua pergunta. (É importante manter informações importantes em perguntas e respostas.) Boa sorte!
fonte
Como o relatório dizia (E: Não foi possível localizar o pacote linux-kernel-devel) Não há pacotes como esse. Você pode instalar todas as versões do kernel que deseja baixando os pacotes do kernel da Debian aqui
Por exemplo; queremos instalar o kernel 3.9.8 (arquitetura i386); Faça o download de todos os pacotes ** i386.deb E também do pacote * * * all.deb em uma pasta. Entre na pasta com o comando cd no terminal;
Isso instalará a versão do kernel que você deseja. Você pode analisar as versões da linha principal e das versões de longo prazo do kernel neste site
fonte
Você terá que mapear você mesmo quais debs específicos você precisa, mas existem os debs necessários nas compilações do kernel do Ubunut .
Honestamente, primeiro eu deveria verificar
sudo apt-get update
e depoissudo apt-get dist-upgrade
garantir que você esteja executando o kernel mais recente e não precisará fazer isso novamente em breve.Em seguida olhar através da construção do kernel listando para sua versão que corresponde ao seu
uname -r
. Você precisa olhar em cada build.log para descobrir para qual versão principal eles estão mapeando. Eu tenho 3.5.0-34 # 55 listado como meu kernel, mas isso realmente mapeia para compilar 3.5.7.14-quantal . Instale todas as debs que correspondem a essa versão para obter seus cabeçalhos e tal e verifique se você possui suas ferramentas de construção comsudo apt-get install build-essential
Sua milhagem pode variar, dependendo do que você planeja fazer com os arquivos de desenvolvimento.
fonte
linux-kernel-devel é o nome de um pacote SUSE / Redhat que fornece coisas como ginásios.
Um Google muito rápido sugere que o linux-headers-generic fornece ginásios no Debian / Ubuntu.
fonte