Kernel de Linux

Tutorial de Debian modprobe

Tutorial de Debian modprobe
Los módulos son un fragmento de código que amplía la funcionalidad del kernel de Linux. Un módulo en Linux también se conoce como módulo de kernel de Linux. Lo mejor de los módulos en Linux es que se pueden agregar o eliminar sobre la marcha. Eso significa que puede agregar o eliminar módulos en Linux sin la necesidad de reiniciar su computadora.

Hay módulos para su hardware de gráficos (GPU), diferentes sistemas de archivos (como ext4, zfs, btrfs), hardware de red, pantalla, teclado y diferentes dispositivos de entrada y muchos más.

En este artículo, le mostraré cómo usar modprobe para administrar los módulos del kernel en la distribución 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.

El directorio de módulos predeterminado:

Todos los módulos en Debian se almacenan es el / lib / modules / $ (uname -r) directorio.

Los módulos del kernel se almacenan en un subdirectorio kernel /. Los módulos del kernel se almacenan en un orden jerárquico modular como puede ver en la captura de pantalla a continuación.

$ ls / lib / modules / $ (uname -r) / kernel

Listado de todos los módulos de kernel disponibles:

Puede enumerar todos los módulos del kernel en una estructura de árbol bien formateada con el siguiente comando:

$ árbol / lib / modules / $ (uname -r) / kernel

NOTA: El comando de árbol no está instalado de forma predeterminada. Tendrás que instalarlo manualmente con sudo apt instalar árbol

Como puede ver, los directorios y módulos del kernel se enumeran como un árbol.

Es una lista muy larga. También puede pasarlo a un buscapersonas como less como se muestra a continuación para facilitar la navegación por la lista:

$ árbol / lib / modules / $ (uname -r) / kernel | menos

Ahora puedes presionar el y teclas de flecha para navegar por la lista.

Puede buscar módulos en el paginador menos. Solo presione / y escriba su palabra clave de búsqueda.

Ahora presiona y el resultado de su búsqueda debe mostrarse como puede ver en la sección marcada de la captura de pantalla a continuación.

También puede presionar norte y pag para ir al resultado siguiente o al resultado anterior respectivamente.

Para salir del buscapersonas, presione q.

Listado de todos los módulos de kernel cargados:

Puede enumerar todos los módulos del kernel que utiliza 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 kernel, en la Tamaño columna (2), puede ver el tamaño del módulo del kernel en bytes.

La Usado por la columna (3) es interesante. Esta columna comienza con un número y, opcionalmente, una lista de nombres de módulos separados por comas.

El número determina cuántos módulos dependen de este módulo. Si es 0, 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 quitar o agregar de forma segura pppdev módulo del kernel en cualquier momento.

Si es algo diferente a 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. Entonces no puedes 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 los módulos deben eliminarse para eliminar snd_pcm módulo.

Obtener información sobre un módulo de kernel específico:

Ahora que sabe cómo enumerar todos los módulos del kernel disponibles y los módulos del kernel cargados. En esta sección, le mostraré cómo obtener información sobre cualquier módulo del kernel.

En Debian, puede usar el modinfo comando para obtener información sobre cualquier módulo.

Por ejemplo, para obtener información sobre 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, la licencia, una breve descripción sobre el módulo snd_pcm, los módulos snd_pcm depende de y se enumera alguna otra información.

Estos son bits de información esenciales que necesita saber para trabajar con módulos en Deban. Por ejemplo, si desea habilitar snd_pcm módulo, entonces también debe habilitar snd y snd-timer módulos antes de hacerlo. Como snd_pcm depende de snd y snd-timer. De lo contrario, no funcionará.

Cargando nuevo módulo de kernel usando modprobe:

Puede cargar nuevos módulos del kernel usando el modprobe mando. Por ejemplo, digamos que desea habilitar el btrfs módulo del kernel del sistema de archivos.

Primero, compruebe qué módulos btrfs los módulos del kernel dependen de modinfo como sigue:

$ sudo modinfo btrfs

Como puede ver, el btrfs el módulo del kernel depende de raid6_pg y xor módulos del kernel.

Comprobemos 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 del kernel:

$ sudo modprobe raid6_pq
$ sudo modprobe xor

Ahora verifiquemos si los módulos del kernel de dependencia se cargan nuevamente:

$ lsmod | grep raid6
$ lsmod | grep xor

Como puede ver, los módulos del kernel están cargados.

Ahora puedes cargar el btrfs módulo del 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 puede ver, el btrfs El módulo del kernel está cargado y depende del raid6_pq y el xor módulos del kernel.

La mayor parte del tiempo modprobe El comando resolverá las dependencias automáticamente. Pero le mostré cómo hacerlo manualmente porque a veces es posible que deba hacerlo de esta manera. Es mejor saber cómo resolver un problema, ya que es posible que algún día tengas que lidiar con él.

Eliminación de módulos con modprobe:

También puede eliminar módulos con modprobe mando. Si ningún otro módulo depende del módulo que desea eliminar, 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 desea eliminar, primero tendrá que eliminar estos módulos antes de poder eliminar el módulo deseado.

Eso es básicamente todo lo que necesita saber sobre la gestión de módulos del kernel en Debian. Gracias por leer este artículo.

Los 10 mejores juegos para jugar en Ubuntu
La plataforma Windows ha sido una de las plataformas dominantes para juegos debido al gran porcentaje de juegos que se están desarrollando hoy para ad...
5 mejores juegos de arcade para Linux
Hoy en día, las computadoras son máquinas serias que se usan para jugar. Si no puede obtener la nueva puntuación más alta, sabrá a qué me refiero. En ...
Batalla por Wesnoth 1.13.6 Desarrollo liberado
Batalla por Wesnoth 1.13.6 lanzado el mes pasado, es el sexto lanzamiento de desarrollo en el 1.13.x y ofrece una serie de mejoras, sobre todo en la i...