Debian: obtener el nombre del paquete para el archivo instalado

Debian: obtener el nombre del paquete para el archivo instalado

Estoy conectado vía SSH a una PC que ejecuta el kernel de Linux 3.11.1:

root@alix:~# uname -r
3.11.1

¿Cómo puedo saber qué paquete instaló este archivo específico o versión del kernel respectivamente?

Lo intenté

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

Otras versiones del kernel instaladas se pueden encontrar condpkg-S:

root@alix:/boot# dpkg -S vmlinuz-3.2.23
linux-image-3.2.23-ath5kmod: /boot/vmlinuz-3.2.23-ath5kmod

Mi propósito: me gustaría instalar los encabezados de Linux correspondientes a la versión 3.11.1 para compilar un módulo del kernel.apt-cache buscar encabezados-linuxenumera 15 versiones de encabezado diferentes, pero no la de 3.11.1.

Muchas gracias.

Respuesta1

Puede enumerar todos los paquetes instalados dpkg -ly filtrar los resultados con greplos paquetes del kernel.

dpkg -l | grep 'linux-image'
dpkg -l | grep 'linux-image' | grep '3.11'

Para encontrar el paquete de encabezados del kernel para su kernel en ejecución:

apt-cache search linux-headers-`uname -r`

Respuesta2

Mi problema original era que no había encabezados de kernel apropiados disponibles para el kernel de Linux actualmente instalado (3.11.1).

Finalmente, resolví este problema en cuatro pasos:

  1. Se eliminaron los kernels que se instalaron a través deapto-obtener.
  2. Kernels personalizados eliminados:

    • /boot/vmlinuz*VERSIÓN-KERNEL*
    • /boot/initrd*VERSIÓN-KERNEL*
    • /boot/Mapa-sistema*VERSIÓN-KERNEL*
    • /boot/config-VERSIÓN DEL NÚCLEO
    • /lib/módulos/VERSIÓN DEL NÚCLEO/
    • Veraquípara una descripción detallada.
  3. Kernel instaladoyencabezados correspondientes que el administrador de paquetes envía de forma predeterminadaapto-obtener(es la versión 3.2.0-4-486).

  4. Actualizar grub medianteactualizar-grub.

Ahora puedo compilar y usar el módulo del kernel de Linux requerido. Gracias Creek por indicarme la dirección correcta. :)

Respuesta3

Usarlocalizar(1)comando deubicarpaquete:

$ 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

dlocatetoma el nombre del archivo como argumento y devuelve el nombre del paquete que posee/proporciona el archivo dado.

Respuesta4

apt-get install linux-headersdebería conseguirte los encabezados de todos los kernels instalados

información relacionada