Cómo cargar y descargar módulos del kernel de Linux: una guía completa

En ocasiones, puede que necesites cargar o descargar un módulo específico dentro y/o fuera del kernel de Linux. ¿Por qué? Supongamos que estás trabajando en una máquina que no tiene conexión de red y realiza una gran cantidad de procesamiento de datos (digamos una base de datos). Para esta máquina, quieres obtener la mayor capacidad de procesamiento posible.

Índice de Contenido
  1. El comando lsmod
  2. El comando rmmod
  3. El comando insmod
  4. Conclusión

El comando lsmod

El primer comando que te será útil es lsmod, que se utiliza para listar los módulos cargados actualmente. La estructura del comando es muy sencilla y no tiene argumentos adicionales. Debes ejecutar el comando lsmod como root (si no estás conectado como root, puedes agregar el argumento -l al comando su) y, al ejecutarlo, se mostrará el nombre, el tamaño, el contador de uso y la lista de módulos de referencia.

Un ejemplo de salida sería el siguiente:

[root@giles /root]# lsmod
Module Size Used by
ppp 20876 0 (unused)
slhc 4568 0 [ppp]
sb 33780 0 (autoclean)
vmmon 17056 0 (unused)
smbfs 24368 1 (autoclean)
vmnet 15712 3
vmppuser 5864 0 (unused)
parport_pc 7400 0 [vmppuser]
parport 7256 0 [vmppuser parport_pc]
autofs 9312 1 (autoclean)
lockd 31496 1 (autoclean)
sunrpc 53028 1 (autoclean) [lockd]
3c59x 19268 1 (autoclean)
opl3 11432 0
uart401 6160 0 [sb]
sound 58680 0 [sb opl3 uart401]
soundlow 420 0 [sound]
soundcore 2628 6 [sb sound]

Ahora que tenemos la salida, veamos cómo eliminar un módulo del kernel con el comando rmmod.

El comando rmmod

El comando rmmod, como su nombre indica, elimina módulos del kernel. En nuestro caso, eliminaremos uno o dos módulos para obtener algunos ciclos de CPU extra para nuestra máquina de procesamiento de datos.

Los módulos que vamos a eliminar tienen que ver con la conexión de acceso telefónico y se llaman ppp y slhc. Para nuestra máquina de base de datos, no necesitaremos una conexión de acceso telefónico, por lo que la desactivaremos por completo. Es cierto que no obtendremos una gran cantidad de recursos al eliminar los módulos asociados con ppp, pero aprovecharemos cualquier recurso extra que podamos encontrar.

Control de acceso en tiempo real con PAM: ¡No pierdas ni un minuto!

Añadiremos el nombre del módulo que queremos eliminar al comando rmmod. Por ejemplo, si quisiéramos eliminar el módulo sound, ejecutaríamos el comando:

rmmod sound

Si lo hiciéramos, sin embargo, recibiríamos un error como este:

[root@giles /root]# rmmod sound
sound: Device or resource busy

Naturalmente, pensarías que estos módulos se podrían eliminar fácilmente, pero si te fijas en la lista de lsmod, slhc está siendo utilizado por ppp. Por lo tanto, tiene sentido que si eliminamos el módulo ppp primero, podremos eliminar también el módulo slhc.

Por lo tanto, con el comando:

rmmod ppp

no recibimos errores y podemos pasar a eliminar el módulo slhc con el comando:

rmmod slhc

¡Listo! El módulo ha sido eliminado. Luego, verificamos con lsmod y vemos que, de hecho, ha desaparecido:

Cómo encontrar el Pin 1 en un cable de cinta: métodos y consejos.
[root@giles /root]# lsmod
Module Size Used by
sb 33780 0 (autoclean)
vmmon 17056 0 (unused)
smbfs 24368 1 (autoclean)
vmnet 15712 3
vmppuser 5864 0 (unused)
parport_pc 7400 0 [vmppuser]
parport 7256 0 [vmppuser parport_pc]
autofs 9312 1 (autoclean)
lockd 31496 1 (autoclean)
sunrpc 53028 1 (autoclean) [lockd]
3c59x 19268 1 (autoclean)
opl3 11432 0
uart401 6160 0 [sb]
sound 58680 0 [sb opl3 uart401]
soundlow 420 0 [sound]
soundcore 2628 6 [sb sound]

El comando insmod

Supongamos que, por alguna razón extraña, decides que, de hecho, necesitas conectividad de acceso telefónico en la máquina de base de datos. Ahora tenemos que insertar esos módulos nuevamente en el kernel. Esto se logra con el comando insmod.

Cuando insertamos los módulos, debemos hacerlo en orden inverso al que los eliminamos. Eliminamos los módulos exitosamente al eliminar primero ppp y luego slhc. Insertar los módulos en orden inverso nos traerá el mismo éxito.

Si intentamos agregar estos módulos en orden inverso, obtendremos algo como lo siguiente:

[root@giles /root]# insmod ppp
Using /lib/modules/2.2.16-3/net/ppp.o
/lib/modules/2.2.16-3/net/ppp.o: unresolved symbol slhc_compress_Rcfd3a418
/lib/modules/2.2.16-3/net/ppp.o: unresolved symbol slhc_remember_R07972313
/lib/modules/2.2.16-3/net/ppp.o: unresolved symbol slhc_init_R1ca65fca
/lib/modules/2.2.16-3/net/ppp.o: unresolved symbol slhc_toss_Ra152cec0
/lib/modules/2.2.16-3/net/ppp.o: unresolved symbol slhc_free_Rb99033d9
/lib/modules/2.2.16-3/net/ppp.o: unresolved symbol slhc_uncompress_R3bb36b01
[root@giles /root]#

La clave aquí es el inicio de la línea después de "unresolved symbol". Cuando veas esto, casi puedes estar seguro de que slhc es el módulo que está causando el problema. Cargando este módulo no debería generar advertencias. Entonces, ingresando:

insmod slhc

y luego:

insmod ppp

habrás cargado exitosamente los módulos necesarios para la conexión de acceso telefónico.
Esto no significa que la conexión de acceso telefónico esté completamente funcional. Aún debes pasar por los procedimientos de configuración estándar para completar la configuración de la conexión de acceso telefónico.

Clases de direcciones IP: A

Conclusión

La capacidad de cargar y descargar módulos hace de Linux un depredador muy eficiente en la cadena alimenticia de los sistemas operativos. Esta flexibilidad es difícil de encontrar y, cuando se combina con la simplicidad, es el sueño hecho realidad de un administrador. ¿Necesitas evitar que las personas reproduzcan sonidos en una máquina en particular? Elimina el módulo de sonido. ¿Necesitas evitar que los empleados revisen correos electrónicos en un cierto momento? Elimina los módulos ppp.

Al utilizar este modelo, no pierdes las capacidades de la PC, permites capacidades según las necesidades y/o recursos.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Redes, allí encontraras muchos artículos similares a Cómo cargar y descargar módulos del kernel de Linux: una guía completa , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.