modprobe
es un programa de Linux escrito originalmente por Rusty Russell y utilizado para agregar un módulo de kernel cargable al kernel de Linux o para eliminar un módulo de kernel cargable del kernel. Se usa comúnmente de manera indirecta: udev se basa en modprobe para cargar controladores para el hardware detectado automáticamente. [ cita requerida ]
A partir de 2014, [actualizar]modprobe se distribuye como parte del paquete de software "kmod" [1] (mantenido por Lucas De Marchi y otros). Anteriormente se desarrolló como:
Operación
El programa modprobe ofrece funciones más completas de " navaja suiza " que las más básicas. insmod y utilidades rmmod , con los siguientes beneficios:
- la capacidad de tomar decisiones más intuitivas sobre qué módulos cargar
- conocimiento de las dependencias del módulo , de modo que cuando se le solicite cargar un módulo, modprobe agrega primero otros módulos requeridos
- la resolución de dependencias de módulo recursivas según sea necesario
Si se invoca sin interruptores, el programa agrega / inserta / instala de forma predeterminada el módulo nombrado en el kernel. Por lo general, se requieren privilegios de root para estos cambios.
Cualquier argumento que aparezca después del nombre del módulo se pasa 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
Características
La 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, lo que permite una carga automática de los módulos. Cuando el núcleo 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, un número principal de dispositivo o el número de un protocolo de red ), y modprobe hace el trabajo de traducir eso a un nombre de módulo real a través de 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 tarjeta de sonido o cargar el firmware a 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.
Lista negra
Hay casos en los que dos o más módulos admiten los mismos dispositivos, o un módulo afirma de manera no válida que admite un dispositivo: la palabra clave de lista negra indica que todos los alias internos de un módulo en particular deben ignorarse. [4]
Hay un par de formas de incluir un módulo en la lista negra y, según el método utilizado para cargarlo, depende de dónde esté configurado.
Hay dos formas de poner un módulo en la lista negra usando modprobe, empleando el sistema modprobe.conf, la primera es usar su sistema de lista negra en /etc/modprobe.d/. Se puede utilizar cualquier nombre de archivo que termine en .conf:
cat /etc/modprobe.d/blacklist.conflista negra ieee1394lista negra ohci1394lista negra eth1394lista negra sbp2
Una primitiva de instalación es la prioridad más alta en el archivo de configuración y se utilizará en lugar del método de lista negra anterior, que requiere este segundo método:
cat /etc/modprobe.d/ieee1394.confinstalar ieee1394 / bin / trueinstalar ohci1394 / bin / trueinstalar eth1394 / bin / trueinstalar sbp2 / bin / true
Alternativamente, puede modificar /etc/modprobe.conf:
alias sub_module / dev / null alias module_main / dev / null opciones module_main required_option = 0
Ver también
Referencias
- ^ https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git
- ^ "Copia archivada" . Archivado desde el original el 9 de junio de 2008 . Consultado el 22 de septiembre de 2008 .CS1 maint: copia archivada como título ( enlace )
- ^ "Copia archivada" . Archivado desde el original el 23 de febrero de 2009 . Consultado el 22 de septiembre de 2008 .CS1 maint: copia archivada como título ( enlace )
- ^ modprobe.conf (5) - página de manual de Linux