Todo lo que necesita saber sobre el comando Linux/Unix: modprobe

Todo lo que necesita saber sobre el comando Linux/Unix: modprobe

Todo lo que necesita saber sobre el comando Linux/Unix: modprobe

VALORACIÓN DEL ARTÍCULO:
5/5


Índice de contenidos

Nombre

modprobe – manejo de alto nivel de módulos cargables

Sinopsis

modprobe [-adnqv][-C config] módulo[symbol=value …. modprobe [-adnqv][-C config][-t type] pattern modprobe -l[-C config][-Ft type] pattern modprobe -c[-C config] modprobe -r[-dnv][-C config][module . modprobe -Vh

Opciones

-a , –todos

Cargar todos los módulos correspondientes en lugar de detenerse después de la primera carga correcta.

-c , –showconfig

Muestra la configuración utilizada actualmente.

-C , –config config

Utilice el archivo config en lugar de (el opcional) /etc/modules.conf para especificar la configuración. La variable de entorno MODULECONF también puede utilizarse para seleccionar (y anular) un archivo de configuración diferente del archivo de configuración predeterminado /etc/modules.conf (o /etc/conf.modules (obsoleto)).

Cuando la variable de entorno UNAME_MACHINE está establecida, modutils usará su valor en lugar del campo máquina de la llamada al sistema uname(). Esto es principalmente útil cuando está compilando módulos de 64 bits en espacio de usuario de 32 bits o viceversa, ajuste UNAME_MACHINE al tipo de módulos. Los modutils actuales no soportan el modo cross build completo para los módulos, se limita a elegir entre versiones de 32 y 64 bits de la arquitectura del host.

-d , –debug

Muestra información sobre la representación interna de la pila de módulos.

-h , –help

Muestre un resumen de las opciones y salga inmediatamente.

-k , –autoclean

Configure’autoclean’ en los módulos cargados. Utilizado por el kernel cuando llama a modprobe para satisfacer una característica que falta (suministrada como módulo). La opción -q está implícita en -k . Estas opciones se enviarán automáticamente a insmod .

-l , –list

Lista de módulos coincidentes.

-n , –show

No realice la acción, sólo muestre lo que se haría.

-q , –quiet

No se queje si insmod no instala un módulo. Continúe como de costumbre, pero en silencio, con otras posibilidades para que modprobe pruebe. Esta opción se enviará automáticamente a insmod .

-r , –quitar

Quite el módulo (pilas) o limpie automáticamente, dependiendo de si hay algún módulo mencionado en la línea de comandos.

-s , –syslog

Informe a través de syslog en lugar de stderr. Estas opciones se enviarán automáticamente a insmod .

-t moduletype; –type moduletype

Sólo considere módulos de este tipo. modprobe sólo mirará a los módulos cuya ruta de directorio incluye exactamente » /moduletype/«. moduletype puede incluir más de un nombre de directorio, por ejemplo » -t drivers/net» listaría los módulos en xxx/drivers/net/ y sus subdirectorios.

-v , –verbose

Imprimir todos los comandos a medida que se ejecutan.

-V, –versión

Mostrar la versión de modprobe .

Nota:

Los nombres de los módulos no deben contener trayectorias (no ‘/’), ni pueden contener el final ‘.o’. Por ejemplo, slip es un nombre de módulo válido para modprobe , /lib/modules/2.2.19/net/slip y slip.o no son válidos. Esto se aplica a la línea de comandos y a las entradas en la configuración.

Descripción del comando

Las utilidades modprobe y depmod están pensadas para hacer que un núcleo modular de Linux sea más manejable para todos los usuarios, administradores y mantenedores de distribución.

Modprobe usa un archivo de dependencias tipo «Makefile», creado por depmod , para cargar automáticamente los módulos relevantes desde el conjunto de módulos disponibles en árboles de directorios predefinidos.

Modprobe se usa para cargar un solo módulo, una pila de módulos dependientes, o todos los módulos que están marcados con una etiqueta específica.

Modprobe cargará automáticamente todos los módulos base necesarios en una pila de módulos, como se describe en el archivo de dependencias modules.dep. Si la carga de uno de estos módulos falla, toda la pila actual de módulos cargados en la sesión actual se descargará automáticamente.

Modprobe tiene dos maneras de cargar módulos. Una forma (el modo de prueba) intentará cargar un módulo de una lista (definida por pattern). Modprobe detiene la carga tan pronto como un módulo se carga con éxito. Esto puede usarse para cargar automáticamente un controlador Ethernet de una lista. La otra manera de usar modprobe es cargar todos los módulos de una lista. Ver EJEMPLOS , abajo.

Con la opción -r , modprobe descargará automáticamente una pila de módulos, de forma similar a como lo hace » rmmod -r «. Tenga en cuenta que usando sólo » modprobe -r » se limpiarán los módulos autocargados no utilizados y también se ejecutarán los comandos de pre y post eliminación en el archivo de configuración /etc/modules.conf.

La combinación de las opciones -l y -t enumera todos los módulos disponibles de un determinado tipo.

Opción -c imprimirá la configuración utilizada actualmente (por defecto + archivo de configuración).

Configuración

El comportamiento de modprobe (y depmod ) puede ser modificado por el archivo de configuración (opcional) /etc/modules.conf. Para una descripción más detallada de lo que puede contener este archivo, así como la configuración por defecto utilizada por depmod y modprobe , ver modules.conf (5).

Tenga en cuenta que los comandos de pre- y post-remoción no se ejecutarán si un módulo es «auto-limpiado» por el kerneld! En su lugar, busque la próxima compatibilidad con el almacenamiento persistente de módulos. Si desea utilizar las funciones de pre y post instalación, tendrá que desactivar autoclean para kerneld y en su lugar poner algo como la siguiente línea en su crontab (esto se utiliza también para sistemas kmod) para realizar la autolimpieza cada 2 minutos: */2 * * * * * test -f /proc/modules && /sbin/modprobe -r

Estrategia

La idea es que modprobe busque primero en el directorio que contiene los módulos compilados para la versión actual del kernel. Si el módulo no se encuentra allí, modprobe buscará en el directorio común a la versión del núcleo (por ejemplo, 2.0, 2.2). Si el módulo todavía se encuentra, modprobe buscará en el directorio que contiene módulos una versión por defecto, y así sucesivamente.

Cuando instalas un nuevo linux, los módulos deben ser movidos a un directorio relacionado con la versión (y versión) del kernel que estás instalando. Luego debe hacer un enlace simbólico desde este directorio al directorio «default».

Cada vez que compiles un nuevo núcleo, el comando » make modules_install » creará un nuevo directorio, pero no cambiará el enlace «default».

Cuando obtenga un módulo no relacionado con la distribución del núcleo debería colocarlo en uno de los directorios independientes de la versión bajo /lib/modules.

Esta es la estrategia por defecto, que puede ser anulada en /etc/modules.conf.

Ejemplos

modprobe -t net

Cargue uno de los módulos que están almacenados en el directorio llamado «net». Cada módulo se prueba hasta que uno tiene éxito.

modprobe -a -t boot

Se cargarán todos los módulos que estén almacenados en directorios etiquetados como «boot».

modprobe slip

Esto intentará cargar el módulo slhc.o si no se ha cargado previamente, ya que el módulo de deslizamiento necesita la funcionalidad en el módulo slhc. Esta dependencia se describirá en el archivo modules.dep que fue creado automáticamente por depmod .

modprobe -r slip

Esto descargará el módulo de deslizamiento. También descargará el módulo slhc automáticamente, a menos que sea usado por algún otro módulo también (por ejemplo, ppp).

Véase también:

depmod(8), lsmod (8), kerneld (8), ksyms (8), rmmod (8).

Modo a prueba de fallos

Si el uid efectivo no es igual al uid real, entonces modprobe trata su entrada con extrema sospecha. El último parámetro siempre se trata como un nombre de módulo, incluso si comienza con ‘-‘. Sólo puede haber un nombre de módulo y las opciones de la forma «variable=valor» están prohibidas. El nombre del módulo siempre se trata como una cadena, no se realiza ninguna metaexpansión en modo seguro. Sin embargo, la metaexpansión se sigue aplicando a los datos leídos del fichero de configuración.

euid puede no ser igual a uid cuando se invoca modprobe desde el kernel, esto es cierto para los kernels>= 2.4.0-test11. En un mundo ideal, modprobe podría confiar en que el kernel sólo pasaría parámetros válidos a modprobe. Sin embargo, se ha producido al menos una vulnerabilidad de raíz local porque el código del núcleo de alto nivel ha pasado parámetros no verificados directamente del usuario a modprobe. Así que modprobe ya no confía en la entrada del kernel.

modprobe establece automáticamente el modo seguro cuando el entorno está formado sólo por estas cadenas

 INICIO=/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>. TERM=linux
PATH=/sbin:/usr/sbin:/bin:/usr/bin

Esto detecta la ejecución de modprobe desde el núcleo en los núcleos 2.2 a 2.4.0-test11, incluso si uid == euid, lo que hace en los núcleos anteriores.

Comandos de registro

Si el directorio /var/log/ksymoops existe y modprobe se ejecuta con una opción que podría cargar o eliminar un módulo, modprobe registrará su comando y devolverá su estado en /var/log/ksymoops/`date +%Y%m%d.log`. No hay ningún parámetro para desactivar este registro automático, si no quiere que ocurra, no cree /var/log/ksymoops. Si ese directorio existe, debería ser propiedad de root y estar en modo 644 o 600 y debería ejecutar el script insmod_ksymoops_clean todos los días aproximadamente.

Utilidades necesarias

depmod (8), insmod (8).

Utilice el comando man ( % man) para ver cómo se utiliza un comando en su equipo particular.

TAMBIÉN TE INTERESA

riesgos DeepSeek

Reportan los primeros riesgos de seguridad en DeepSeek

Pocos días después de la irrupción de DeepSeek en el mundo, ya empiezan a aflorar algunos problemas relacionados con la seguridad en DeepSeek y la privacidad de los datos que emplean los usuarios. Son millones y millones personas las que ya están probando las mieles de la IA china. El modelo R1 de DeepSeek ha

dispositivos Alexa

Cómo controlar la privacidad de tus conversaciones con los dispositivos Alexa

Los dispositivos Alexa se han convertido en un miembro más de muchas familias. Ciertamente útiles para recordatorios de la lista de la compra, alarmas, recetas o para disfrutar de un rato de música, estos famosos asistentes virtuales en forma de altavoces son indispensables para muchos y han dado un plus de inteligencia para los hogares.

DeepSeek

Y de repente… DeepSeek: la IA china que planta a cara la tecnología americana

DeepSeek es un ejemplo de lo que está ocurriendo con los grandes avances de la economía moderna. Cada vez que Estados Unidos implanta una solución triunfal, China hace lo propio seguidamente con una mayor eficiencia y a un coste menor. Tradicionalmente, el gigante asiático ha sido un gran replicador en todos los órdenes, pero ahora,

serie Samsung Galaxy S25

Nuevos Samsung Galaxy S25: la IA ya no es una parte sino un todo

Samsung ha presentado oficialmente los nuevos Galaxy S25 Ultra, Galaxy S25+ y Galaxy S25. Había mucha expectación para ver el que es el segundo gran teléfono de 2025 tras el OnePlus 13. Hay diferencias entre ambos, pero lo nuevo de los coreanos pueden marcar un punto de inflexión a nivel de operatividad, ya que la

IA emocional

La IA emocional está más cerca de lo que parece…

¿Es una utopía hablar de IA emocional? ¿Las máquinas pueden tener sentimientos? ¿Hasta qué punto se pude hablar en clave de humanización cuando mezclamos la tecnología? La respuesta está en la neurociencia, aunque el cine ya nos ha dado algunas pistas de cómo podrían sentir los robots. Clásicos como Terminator 2 o Cortocircuito nos mostraron