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

Zoom-Workplace

Zoom Workplace, la plataforma de trabajo que ha ideado Zoom con base en la IA

En cuestión de cuatro años, Zoom ha pasado de ser una gran desconocida a toda una referencia en el mundo de las comunicaciones. De emerger como herramienta de videollamadas en la pandemia, hoy Zoom se ha convertido en toda una solución multiusos para la vida diaria y el trabajo, cuya culminación se ha traducido con

fusión-Orange-MásMóvil

Orange y MásMóvil: arranca el nuevo gigante de las teleco en España

Orange y MásMóvil han anunciado al fin la formación de su nueva empresa conjunta, completando así el acuerdo para fusionar sus operaciones en España. Tras años de negociación, se ha completado una operación que ha dado lugar a la creación de la mayor operadora de telecomunicaciones en España. Los accionistas de ambas compañías poseen el

Instagram-Creator-Marketplace

España, a la espera del Instagram Creator Marketplace

Instagram es una de las redes sociales de mayor impacto en la población española. Desde su irrupción, la figura del influencer ha crecido enormemente en el mundo del marketing y las marcas. La herramienta Instagram Creator Marketplace puede seguir fortaleciendo a estos prescriptores, visto el potencial que empieza a tener este servicio en Estados Unidos.

avatares-Roblox

Vámonos de shopping en Roblox: Mango inaugura su primera tienda

En dinámico mundo de los juegos online, Roblox (con más de 70 millones de usuarios activos diarios) se ha destacado como una plataforma que ofrece a los participantes una experiencia única y diversa. Una de las características más populares de Roblox es su sistema de personalización de avatares, que permite a los jugadores expresar su

Snapdragon-8-Gen-3

Snapdragon 8 Gen 3, el chip de Qualcomm que empujará la IA en los móviles

La IA ha llegado al universo de los smartphones. Los últimos lanzamientos ya se anuncian con la inteligencia como protagonista. De igual manera, las grandes actualizaciones de software vienen marcada por la presencia de nuevas funciones movidas bajo los parámetros de la inteligencia artificial generativa. Al margen de los desarrollos a nivel de software, es

Ecowatch-1-de-Maxcom

Con el Ecowatch 1 no tendrás excusas para pasarte a un reloj inteligente

Sabemos que es muy difícil convencer a un perfil de personas que reniegan de un smartwatch a comprarse un reloj inteligente y quitarse el de toda la vida. No obstante, vamos a intentarlo con el Ecowatch 1 de Maxcom.  Es tarea complicada porque el gusto por los relojes suele estar muy definido en ciertas personas.