Modprobe

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:

  • "module-init-tools", para la versión del Núcleo Linux 2.6 y posteriores (mantenido por Jon Masters y otros)[1]
  • "modutils" Para uso en las versiones de Linux 2.2.x y 2.4.x.[2]

Funcionamiento

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:

  • La capacidad de tomar decisiones más intuitivas sobre qué módulos cargar.
  • Un conocimiento de las dependencias de los módulos, de modo que cuando se le solicita que cargue un módulo, modprobe agrega otros módulos que se requerían previamente.
  • La resolución de las recursivas dependencias de los módulos que sean necesarios.

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>

Características

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.

Lista Negra

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

Véase también

Referencias

  1. «Archived copy». Archivado desde el original el 9 de junio de 2008. Consultado el 22 de septiembre de 2008. 
  2. «Archived copy». Archivado desde el original el 23 de febrero de 2009. Consultado el 22 de septiembre de 2008. 
  3. modprobe.conf(5) - Linux man page

Enlaces externos

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.