3.11. Evitar que los módulos del kernel se carguen automáticamente al arrancar el sistema


El siguiente procedimiento describe cómo añadir un módulo del kernel a una denylist para que no se cargue automáticamente durante el proceso de arranque.

Requisitos previos

  • Permisos de la raíz
  • El paquete kmod está instalado.
  • Asegúrese de que un módulo del núcleo en una lista de denegación no es vital para la configuración actual de su sistema.

Procedimiento

  1. Seleccione un módulo del kernel que quiera poner en una denylist:

    $ lsmod
    
    Module                  Size  Used by
    fuse                  126976  3
    xt_CHECKSUM            16384  1
    ipt_MASQUERADE         16384  1
    uinput                 20480  1
    xt_conntrack           16384  1
    …​

    El comando lsmod muestra una lista de módulos cargados en el kernel que se está ejecutando actualmente.

    • Alternativamente, identifique un módulo del kernel no cargado que quiera evitar que se cargue potencialmente.

      Todos los módulos del núcleo se encuentran en el directorio /lib/modules/<KERNEL_VERSION>/kernel/<SUBSYSTEM>/.

  2. Crear un archivo de configuración para una lista de denegación:

    # vim /etc/modprobe.d/blacklist.conf
    
    	# Blacklists <KERNEL_MODULE_1>
    	blacklist <MODULE_NAME_1>
    	install <MODULE_NAME_1> /bin/false
    
    	# Blacklists <KERNEL_MODULE_2>
    	blacklist <MODULE_NAME_2>
    	install <MODULE_NAME_2> /bin/false
    
    	# Blacklists <KERNEL_MODULE_n>
    	blacklist <MODULE_NAME_n>
    	install <MODULE_NAME_n> /bin/false
    	…​

    El ejemplo muestra el contenido del archivo blacklist.conf, editado por el editor vim. La línea blacklist asegura que el módulo del kernel relevante no se cargará automáticamente durante el proceso de arranque. El comando blacklist, sin embargo, no evita que el módulo se cargue como dependencia de otro módulo del kernel que no esté en una denylist. Por lo tanto, la línea install hace que se ejecute el /bin/false en lugar de instalar un módulo.

    Las líneas que comienzan con un signo de almohadilla son comentarios para hacer el archivo más legible.

    Nota

    Cuando introduzca el nombre de un módulo del núcleo, no añada la extensión .ko.xz al final del nombre. Los nombres de los módulos del núcleo no tienen extensiones; sus archivos correspondientes sí.

  3. Cree una copia de seguridad de la imagen inicial del ramdisk actual antes de reconstruirlo:

    # cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).bak.$(date %m-\r%H%M%S).img

    El comando anterior crea una imagen de copia de seguridad initramfs en caso de que la nueva versión tenga un problema inesperado.

    • Alternativamente, cree una copia de seguridad de otra imagen inicial de ramdisk que corresponda a la versión del kernel para la que quiere poner los módulos del kernel en una denylist:

      # cp /boot/initramfs-<SOME_VERSION>.img /boot/initramfs-<SOME_VERSION>.img.bak.$(date %m-\r%H%M%S)
  4. Genera una nueva imagen inicial de ramdisk para reflejar los cambios:

    # dracut -f -v
    • Si está construyendo una imagen inicial de ramdisk para una versión de kernel diferente a la que está arrancando actualmente, especifique tanto el destino initramfs como la versión del kernel:

      # dracut -f -v /boot/initramfs-<TARGET_VERSION>.img <CORRESPONDING_TARGET_KERNEL_VERSION>
  5. Reinicia el sistema:

    $ reboot
Importante

Los cambios descritos en este procedimiento will take effect and persist después de reiniciar el sistema. Si coloca incorrectamente un módulo clave del kernel en una lista de denegación, puede enfrentarse a un sistema inestable o no operativo.

Recursos adicionales

  • Para más detalles sobre la utilidad dracut, consulte la página del manual dracut(8).
Red Hat logoGithubredditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar. Explore nuestras recientes actualizaciones.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

Theme

© 2026 Red Hat
Volver arriba