GNU/Linux >> Tutoriales Linux >  >> Linux

¿Bloqueando las actualizaciones del kernel con Dpkg?

Me gustaría bloquear todas las actualizaciones del núcleo enviadas por distribución debido a algo desagradable que me sucedió recientemente. (Estoy en un derivado de Ubuntu 12.04 amd64).

Me gustaría bloquear todas las actualizaciones de los núcleos instalados de la versión secundaria 3.2 para los linux-headers , linux-headers-generic , linux-image y linux-image-extra paquetes El problema que encuentro es que todos tienen una versión y si bloqueo una versión específica, no se gana nada porque se instalará una nueva versión (por ejemplo:si bloqueo linux-image-3.2.0-35 , linux-image-3.2.0-36 no está bloqueado y aún podría instalarse con un dist-upgrade de apt .)

Respuesta aceptada:

Lo que necesita usar es una característica de apt-get llamada holding

Puede hacerlo a través de Synaptic o Dpkg. Así es como mantendría mi kernel usando el método dpkg.

Primero verifique el nombre de la imagen de su kernel

dpkg -l | grep linux-image

salida para mí:

ii  linux-image-3.2.0-4-amd64              3.2.35-2                           amd64        Linux 3.2 for 64-bit PCs
ii  linux-image-amd64                      3.2+46                             amd64        Linux for 64-bit PCs (meta-package)

luego dígale a dpkg que contenga el metapaquete (la versión genérica sin ningún número de versión)

echo linux-image-amd64 hold | sudo dpkg --set-selections

Luego puede verificar que esto funcionó a través de dpkg -l linux-image-amd64

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-==========================================================
hi  linux-image-amd64          3.2+46             amd64              Linux for 64-bit PCs (meta-package)

Observe el 'hola' en la parte inferior, h significa retenido e i significa actualmente instalado. Este paquete está instalado pero no ser actualizado.

Puede revertir esto a través de

echo linux-image-amd64 install | sudo dpkg --set-selections

y nuevamente puede verificar a través de dpkg -l linux-image-amd64

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version            Architecture       Description
+++-==========================-==================-==================-==========================================================
ii  linux-image-amd64          3.2+46             amd64              Linux for 64-bit PCs (meta-package)

Observe 'ii', la primera i significa que este paquete está configurado para instalarse y la segunda i significa que está instalado actualmente. Este paquete está instalado y será ser actualizado.

Para obtener más información sobre estas banderas, consulte man dpkg específicamente las secciones de "estados de selección de paquetes".


Linux
  1. Cómo verificar la versión del Kernel en Linux

  2. ¿Las actualizaciones del kernel requieren todas las versiones intermedias?

  3. Comprensión de la versión efectiva del kernel de Ksplice

  4. CentOS/RHEL:Exclusión con Yum para actualizaciones del kernel

  5. Enlace con una versión anterior de libstdc++

Versión del núcleo de Ubuntu 22.04

Cómo verificar la versión del kernel en Linux

3 formas de comprobar la versión del kernel de Linux en la línea de comandos

Cómo comprobar la versión del sistema operativo con la línea de comandos de Linux

Wazuh Bloqueo de ataques con Active Response

cómo configurar centos 8 para que arranque con la versión antigua del kernel