3.7.5.- Eliminar módulos del kernel

En la mayoría de los casos podemos dejar cargados los módulos indefinidamente, lo malo, es que consume una pequeña cantidad de memoria cuando no se utilizan (el programa lsmod nos muestra cuánta memoria consume cada módulo).

lsmod nos muestra la memoria consumida por cada módulo.

lsmod nos muestra la memoria consumida por cada módulo en el campo size.

Sin embargo, a veces, es recomendable eliminar un módulo cargado. Una de las razones sería la de recuperar una pequeña parte de la memoria, descargar un módulo antigua para cargar una nueva versión actualizada de él y eliminar un módulo que no inspira ninguna confianza.

El trabajo de descargar un módulo del kernel lo realiza el comando nmmod, que resulta ser el opuesto de insmod. Sin embargo, el comando rmmod recibe un nombre de módulo como opción, en lugar de su nombre de fichero:

El comando rmmod descarga el módulo floppy. En este caso al ser un equipo portátil nos muestra el error: Module floppy is not currently loaded (Modulo Floppy no cargado).

El comando rmmod descarga el módulo floppy. En este caso al ser un equipo portátil nos muestra el error: Module floppy is not currently loaded (Modulo Floppy no cargado).

Podemos modificar el comportamiento de rmmod de varias maneras:

  • Información detallada.- Las opciones -v o –verbose hacen que rmmod nos muestre información adicional sobre lo que hace el módulo, ideal para resolver problemas.

    Ejemplo de rmmod -v psmouse, como podemos intuir es el módulo del ratón. El error nos dice que la operación no está permitida al no ser root.

    Ejemplo de rmmod -v psmouse, como podemos intuir es el módulo del ratón. El error nos dice que la operación no está permitida al no haberlo cargado como root.

  • Forzar la eliminación.- Con las opciones -f o --force fuerza la eliminación de un módulo aunque esté marcado como módulo en uso. Como vemos se trata de una opción muy peligrosa, pero, a veces, resulta útil si un módulo altera su comportamiento de un modo que resulta más peligroso aún. Si no activamos CONFIG_MODULE_FORCE_UNLOAD del kernel esta opción carecerá de efecto.
  • Muestra la ayuda .- Las opciones -h o –help nos muestra la ayuda.
    Opción -h o --help de rmmod nos muestra en pantalla la ayuda.

    Opción -h o --help de rmmod nos muestra en pantalla la ayuda.

    Para más detalles consulte la página man de rmmod.

rmmod_man

Al igual que insmod, rmmod trabaja sobre un único módulo. Si intentamos descargar un módulo del que dependen otros módulos o que está en uso, rmmod devolverá un mensaje de error.