Debian: obtenha o nome do pacote para o arquivo instalado

3

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 este arquivo específico ou a versão do kernel, respectivamente?

Eu tentei

root@alix:/boot# dpkg -S vmlinuz-3.11.1 
dpkg-query: no path found matching pattern *vmlinuz-3.11.1*

Outras versões do kernel instaladas podem ser encontradas com dpkg -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: Eu gostaria de instalar os cabeçalhos Linux correspondentes para a versão 3.11.1 para compilar um módulo do kernel para ele. o apt-cache search linux-headers lista 15 diferentes versões de cabeçalho, mas não aquela para 3.11.1.

Muito obrigado.

    
por Benedikt 17.06.2014 / 13:06

4 respostas

3

Você pode listar cada pacote instalado com dpkg -l e filtrar os resultados com grep para os 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'
    
por 17.06.2014 / 13:08
0

Meu problema original era que não havia cabeçalhos de kernel apropriados disponíveis para o kernel Linux atualmente instalado (3.11.1).

Por fim, resolvi esse problema em quatro etapas:

  1. Removidos os kernels que foram instalados via apt-get .
  2. Removidos os kernels personalizados:

    • / boot / vmlinuz * KERNEL-VERSION *
    • / boot / initrd * KERNEL-VERSION *
    • / boot / Mapa do sistema * KERNEL-VERSION *
    • / boot / config- VERSÃO DE KERNEL
    • / lib / modules / VERSÃO DE KERNEL /
    • Veja aqui para uma descrição detalhada.
  3. Os cabeçalhos correspondentes e do kernel instalados são enviados por padrão pelo gerenciador de pacotes apt-get (é a versão 3.2.0-4-486).

  4. Atualize o grub por meio de update-grub .

Agora, posso compilar e usar o módulo de kernel do Linux necessário. Obrigado Creek para me apontar na direção certa. :)

    
por 18.06.2014 / 08:55
0

Use o comando dlocate (1) de dlocate package:

$ 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 aceita o nome do arquivo como um argumento e retorna o nome do pacote que possui / fornece determinado arquivo.

    
por 26.08.2018 / 12:36
0

apt-get install linux-headers deve obter os cabeçalhos de todos os kernels instalados

    
por 27.08.2018 / 10:16