
Estou conectado via SSH a um PC executando o kernel Linux 3.11.1:
root@alix:~# uname -r
3.11.1
como posso descobrir qual pacote instalou esse arquivo específico ou versão do kernel, respectivamente?
tentei
root@alix:/boot# dpkg -S vmlinuz-3.11.1
dpkg-query: no path found matching pattern *vmlinuz-3.11.1*
Outras versões de kernel instaladas podem ser encontradas comdpkg-S:
root@alix:/boot# dpkg -S vmlinuz-3.2.23
linux-image-3.2.23-ath5kmod: /boot/vmlinuz-3.2.23-ath5kmod
Meu propósito: gostaria de instalar os cabeçalhos Linux correspondentes para a versão 3.11.1 para compilar um módulo do kernel para ele.apt-cache search linux-headerslista 15 versões de cabeçalho diferentes, mas não aquela para 3.11.1.
Muito obrigado.
Responder1
Você pode listar todos os pacotes instalados dpkg -l
e filtrar os resultados grep
dos pacotes do kernel
dpkg -l | grep 'linux-image'
dpkg -l | grep 'linux-image' | grep '3.11'
Para encontrar o pacote de cabeçalhos do kernel para o seu kernel em execução:
apt-cache search linux-headers-`uname -r`
Responder2
Meu problema original era que não havia cabeçalhos de kernel apropriados disponíveis para o kernel Linux atualmente instalado (3.11.1).
Finalmente, resolvi esse problema em quatro etapas:
- Removidos os kernels que foram instalados viaapt-get.
Kernels personalizados removidos:
- /boot/vmlinuz*VERSÃO-KERNEL*
- /boot/initrd*VERSÃO-KERNEL*
- /boot/Mapa do sistema*VERSÃO-KERNEL*
- /boot/config-VERSÃO DO KERNEL
- /lib/módulos/VERSÃO DO KERNEL/
- Veraquipara uma descrição detalhada.
Kernel instaladoecabeçalhos correspondentes que são enviados por padrão pelo gerenciador de pacotesapt-get(é a versão 3.2.0-4-486).
- Atualizar o grub viaatualização-grub.
Agora posso compilar e usar o módulo do kernel Linux necessário. Obrigado Creek por me apontar na direção certa. :)
Responder3
Usarlocalizar(1)comando delocalizarpacote:
$ dlocate /boot/vmlinuz-*
linux-image-4.9.0-6-amd64: /boot/vmlinuz-4.9.0-6-amd64
linux-image-4.9.0-7-amd64: /boot/vmlinuz-4.9.0-7-amd64
dlocate
recebe o nome do arquivo como argumento e retorna o nome do pacote que possui/fornece o arquivo fornecido.
Responder4
apt-get install linux-headers
deve fornecer os cabeçalhos de todos os kernels instalados