Hay módulos para su hardware de gráficos (GPU), diferentes sistemas de archivos (como Ext4, ZFS, BTRFS), HardWares de red, pantalla, teclado y diferentes dispositivos de entrada y muchos más.
En este artículo, te mostraré cómo usar modpoba Para administrar módulos de núcleo en la distribución de Debian GNU/Linux. Voy a usar Debian 9 Stretch para la demostración. Pero debería funcionar en cualquier versión de Debian GNU/Linux. Entonces empecemos.
Todos los módulos en Debian están almacenados es el /lib/módulos/$ (uname -r) directorio.
Los módulos del núcleo se almacenan en un núcleo de subdirector/. Los módulos del núcleo se almacenan en un orden jerárquico modular como puede ver en la captura de pantalla a continuación.
$ ls/lib/módulos/$ (uname -r)/kernel
Enumerar todos los módulos de kernel disponibles:
Puede enumerar todos los módulos del núcleo en una estructura de árbol bien formateada con el siguiente comando:
$ tree/lib/módulos/$ (uname -r)/kernel
NOTA: El comando de árbol no está instalado de forma predeterminada. Tendrás que instalarlo manualmente con árbol de instalación de sudo apto
Como puede ver, los directorios y los módulos del núcleo se enumeran como un árbol.
Es una lista muy larga. También puede pasarlo a un buscapersonas como menos como sigue para facilitar la navegación a través de la lista:
$ árbol/lib/módulos/$ (uname -r)/kernel | menos
Ahora puedes presionar el y Llaves de flecha para navegar a través de la lista.
Puede buscar módulos en el buscador menos. Solo presiona / y escriba su palabra clave de búsqueda.
Ahora presiona y su resultado de búsqueda debe mostrarse como puede ver en la sección marcada de la captura de pantalla a continuación.
También puedes presionar norte y pag para ir al siguiente resultado o resultado anterior respectivamente.
Para salir del buscapersonas, presione Q.
Listado de todos los módulos de núcleo cargados:
Puede enumerar todos los módulos de kernel que utilizan su sistema operativo Debian con el siguiente comando:
$ lsmod
Es una lista larga. Sobre el Módulo columna (1), puede ver el nombre del módulo del núcleo, en el Tamaño columna (2), puede ver el tamaño del módulo del núcleo en bytes.
El Usado por La columna (3) es interesante. Esta columna comienza con un número y opcionalmente una lista separada por coma de nombres de módulos.
El número determina cuántos módulos dependen de este módulo. Si es 0, entonces significa que ningún otro módulo depende de este módulo. Por ejemplo, el pppdev El módulo no es utilizado por ningún otro módulo. Para que pueda eliminar o agregar de forma segura pppdev módulo de kernel en cualquier momento.
Si es algo más que 0, entonces muchos otros módulos dependen de este módulo. Por ejemplo, otros 2 módulos dependen de snd_pcm Módulo como puede ver en la sección marcada de la captura de pantalla a continuación. Para que no puedas eliminar snd_pcm módulo a menos que elimine los módulos que dependen de este módulo. En este caso, el snd_ac97_codec y snd_ens1371 Se deben eliminar los módulos para eliminar snd_pcm módulo.
Obtener información sobre el módulo de núcleo específico:
Ahora que sabe cómo enumerar todos los módulos de núcleo disponibles y los módulos de núcleo cargados. En esta sección, le mostraré cómo obtener información sobre cualquier módulo de núcleo.
En Debian, puedes usar el modinfo comandar para obtener información sobre cualquier módulo.
Por ejemplo, para obtener información sobre el snd_pcm Módulo que vimos anteriormente, ejecute el siguiente comando:
$ sudo modinfo snd_pcm
Como puede ver, la ruta del archivo del módulo, licencia, una breve descripción sobre el módulo snd_pcm, los módulos snd_pcm depende de y se enumera otra información.
Estos son fragmentos de información esenciales que necesita saber para trabajar con módulos en Deban. Por ejemplo, si quieres habilitar snd_pcm módulo, entonces también debe habilitar SND y Tímero SND módulos antes de hacerlo. Como snd_pcm depende de SND y Tímero SND. De lo contrario, no funcionará.
Carga del nuevo módulo de kernel usando modprobe:
Puede cargar nuevos módulos de núcleo utilizando el modpoba dominio. Por ejemplo, digamos, quieres habilitar el btrfs módulo de kernel del sistema de archivos.
Primero verifique qué módulos el btrfs Los módulos del núcleo dependen de modinfo como sigue:
$ sudo modinfo btrfs
Como puedes ver, el btrfs El módulo del núcleo depende de RAID6_PG y xor módulos de núcleo.
Verifiquemos si están habilitados de la siguiente manera:
$ LSMOD | Grep RAID6
$ LSMOD | Grep Xor
Como puede ver, ninguno de los módulos está cargado.
Ahora ejecute los siguientes comandos para cargar RAID6_PQ y xor Módulos de núcleo:
$ sudo modprobe raid6_pq
$ sudo modprobe xor
Ahora verifiquemos si los módulos de núcleo de dependencia se cargan nuevamente:
$ LSMOD | Grep RAID6
$ LSMOD | Grep Xor
Como puede ver, los módulos del núcleo están cargados.
Ahora puedes cargar el btrfs Módulo de kernel con el siguiente comando:
$ sudo modprobe btrfs
Ahora verifiquemos si el btrfs El módulo del kernel se carga con el siguiente comando:
$ LSMOD | GREP BTRFS
Como puedes ver, el btrfs El módulo del núcleo está cargado y depende de la RAID6_PQ y el xor módulos de núcleo.
La mayor parte del tiempo modpoba El comando resolverá las dependencias para usted automáticamente. Pero te mostré cómo hacerlo manualmente porque a veces es posible que tengas que hacerlo de esta manera. Es mejor saber cómo resolver un problema, ya que puede tener que lidiar con él algún día.
Eliminar módulos con modprobe:
También puede eliminar módulos con modpoba dominio. Si ningún otro módulo depende del módulo que desea eliminar, entonces el proceso es sencillo.
Por ejemplo, para eliminar el btrfs Módulo que cargué anteriormente, ejecute el siguiente comando:
$ sudo modprobe -r btrfs
El módulo debe eliminarse.
Si otros módulos dependen del módulo que desee eliminar, entonces deberá eliminar estos módulos primero antes de poder eliminar el módulo deseado.
Eso es básicamente todo lo que necesita saber sobre la gestión de módulos de núcleo en Debian. Gracias por leer este artículo.