Debian: obtenha o nome do pacote para o arquivo instalado

Debian: obtenha o nome do pacote para o arquivo instalado

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 -le filtrar os resultados grepdos 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:

  1. Removidos os kernels que foram instalados viaapt-get.
  2. 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.
  3. Kernel instaladoecabeçalhos correspondentes que são enviados por padrão pelo gerenciador de pacotesapt-get(é a versão 3.2.0-4-486).

  4. 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

dlocaterecebe o nome do arquivo como argumento e retorna o nome do pacote que possui/fornece o arquivo fornecido.

Responder4

apt-get install linux-headersdeve fornecer os cabeçalhos de todos os kernels instalados

informação relacionada