modprobe
es un programa de Linux escrito originalmente por Rusty Russell y utilizado para añadir un módulo cargable del kernel (LKM) al núcleo Linux o para quitar un LKM del kernel. Por lo general, es utilizado indirectamente: udev se basa en modprobe para cargar controladores de hardware detectado automáticamente.
A partir de 2014 modprobe se distribuye como parte del paquete de software "kmod" (mantenido por Lucas De Marchi y otros). Fue desarrollado previamente como:
El comando modprobe ofrece funciones más completas, como si de una "navaja suiza" se tratara, que las funciones más básicas de insmod y rmmod, con los siguientes beneficios:
Si se llama sin parámetros, el programa agrega / inserta / instala por defecto el módulo designado en el kernel. Normalmente se requieren privilegios de superusuario para realizar estos cambios.
Todos los argumentos que aparecen después del nombre del módulo se pasan al kernel (además de las opciones enumeradas en el archivo de configuración).
En algunas versiones de modprobe, el archivo de configuración se llama modprobe.conf, y en otras, el equivalente es la colección de archivos llamada <nombremodulo> <modulename> en el directorio /etc/modprobe.d.</modulename>
El programa modprobe también tiene más funciones de configuración que otras utilidades similares. Es posible definir los alias de los módulos permitiendo a veces la carga automática de estos. Cuando el kernel requiere un módulo, en realidad ejecuta modprobe para solicitarlo; sin embargo, el kernel solo tiene una descripción de algunas propiedades del módulo (por ejemplo, el identificador del dispositivo o el número de un protocolo de red), y modprobe hace el trabajo de traducirlo a un nombre concreto a través de los alias.
Este programa también tiene la capacidad de ejecutar programas antes o después de cargar o descargar un módulo determinado; por ejemplo, configurar el mezclador justo después de cargar un módulo de la tarjeta de sonido o cargar el firmware en un dispositivo inmediatamente antes de habilitarlo. Aunque estas acciones deben ser implementadas por programas externos, modprobe se encarga de sincronizar su ejecución con la carga / descarga del módulo.
Hay casos en que dos o más módulos son compatibles con los mismos dispositivos, o un módulo indica que no es compatible con un dispositivo: la palabra clave de la lista negra indica que todos los alias internos de un módulo particular deben ignorarse.[3]
Hay un par de formas de poner en la lista negra un módulo, y el método utilizado para ello depende de dónde esté configurado.
Hay dos formas de poner en la lista negra un módulo empleando el sistema modprobe.conf. La primera es usar su sistema de lista negra en /etc/modprobe.d/blacklist:
cat /etc/modprobe.d/blacklist blacklist ieee1394 blacklist ohci1394 blacklist eth1394 blacklist sbp2
La configuración original es lo más importante en el archivo de configuración y se usará en lugar del método de la lista negra visto anteriormente, lo que requiere este segundo método:
cat /etc/modprobe.d/ieee1394 install ieee1394 /bin/true install ohci1394 /bin/true install eth1394 /bin/true install sbp2 /bin/true
Alternativamente, se puede modificar /etc/modprobe.conf:
alias sub_module /dev/null alias module_main /dev/null options module_main needed_option=0