Il existe des modules pour votre matériel graphique (GPU), différents systèmes de fichiers (tels que Ext4, ZFS, BTRFS), les rides du réseau, l'affichage, le clavier et différents périphériques d'entrée et bien d'autres.
Dans cet article, je vais vous montrer comment utiliser modprobe Pour gérer les modules du noyau sur la distribution Debian GNU / Linux. Je vais utiliser Debian 9 Stretch pour la démonstration. Mais cela devrait fonctionner sur n'importe quelle version de Debian GNU / Linux. Alors, commençons.
Tous les modules de Debian sont stockés / lib / modules / $ (uname -r) annuaire.
Les modules de noyau sont stockés dans un sous-répertoire /. Les modules du noyau sont stockés dans un ordre hiérarchique modulaire comme vous pouvez le voir dans la capture d'écran ci-dessous.
$ ls / lib / modules / $ (uname -r) / noyau
Énumérer tous les modules de noyau disponibles:
Vous pouvez répertorier tous les modules du noyau dans une structure d'arbre bien formatée avec la commande suivante:
$ arbre / lib / modules / $ (uname -r) / noyau
NOTE: La commande d'arborescence n'est pas installée par défaut. Vous devrez l'installer manuellement avec Sudo Apt Installer Tree
Comme vous pouvez le voir, les répertoires et les modules de noyau sont répertoriés comme un arbre.
C'est une très longue liste. Vous pouvez également le transmettre à un téléavertisseur, comme moins que ce qui suit pour faciliter la navigation via la liste:
$ arbre / lib / modules / $ (uname -r) / noyau | moins
Maintenant vous pouvez appuyer sur le et Clés flèches pour naviguer dans la liste.
Vous pouvez rechercher des modules dans le moins de téléavertisseur. Juste presser / / et saisissez votre mot-clé de recherche.
Maintenant, appuyez sur Et votre résultat de recherche doit être affiché comme vous pouvez le voir dans la section marquée de la capture d'écran ci-dessous.
Vous pouvez également appuyer n et p pour aller au résultat suivant ou résultat précédent respectivement.
Pour quitter le téléavertisseur, appuyez sur q.
Listing de tous les modules de noyau chargé:
Vous pouvez répertorier tous les modules de noyau utilisés par votre système d'exploitation Debian avec la commande suivante:
$ lsmod
C'est une longue liste. Sur le Module colonne (1), vous pouvez voir le nom du module du noyau, sur le Taille Colonne (2), vous pouvez voir la taille du module du noyau en octets.
Le Utilisé par La colonne (3) est intéressante. Cette colonne commence par un nombre et éventuellement une liste séparée par des virgules de noms de modules.
Le nombre détermine le nombre de modules dépend de ce module. S'il est 0, alors cela signifie, aucun autre module ne dépend de ce module. Par exemple, le pppdev Le module n'est utilisé par aucun autre module. Afin que vous puissiez retirer ou ajouter en toute sécurité pppdev Module du noyau à tout moment.
Si c'est autre chose que 0, alors de nombreux autres modules dépendent de ce module. Par exemple, 2 autres modules dépendent snd_pcm module comme vous pouvez le voir dans la section marquée de la capture d'écran ci-dessous. Vous ne pouvez donc pas supprimer snd_pcm module sauf si vous supprimez les modules qui dépendent de ce module. Dans ce cas, le snd_ac97_codec et snd_ens1371 Les modules doivent être supprimés pour supprimer snd_pcm module.
Obtenir des informations sur le module de noyau spécifique:
Maintenant que vous savez comment répertorier tous les modules de noyau disponibles et les modules du noyau chargé. Dans cette section, je vais vous montrer comment obtenir des informations sur n'importe quel module de noyau.
Sur Debian, vous pouvez utiliser le modinfo commande pour obtenir des informations sur n'importe quel module.
Par exemple, pour obtenir des informations sur le snd_pcm Module que nous avons vu plus tôt, exécutez la commande suivante:
$ sudo modinfo snd_pcm
Comme vous pouvez le voir, le chemin du fichier du module, la licence, une brève description du module snd_pcm, les modules snd_pcm dépend de et d'autres informations sont répertoriées.
Ce sont des informations essentielles que vous devez savoir pour travailler avec des modules sur Deban. Par exemple, si vous souhaitez activer snd_pcm module, alors vous devez également permettre de SND et snd-temps modules avant de le faire. Comme snd_pcm dépend de SND et snd-temps. Sinon, ça ne fonctionnera pas.
Chargement du nouveau module de noyau à l'aide de modprobe:
Vous pouvez charger de nouveaux modules de noyau en utilisant le modprobe commande. Par exemple, disons, vous souhaitez activer le btrfs module de noyau de système de fichiers.
Vérifiez d'abord les modules btrfs Les modules du noyau dépend de modinfo comme suit:
$ sudo modinfo btrfs
Comme vous pouvez le voir, le btrfs Le module du noyau dépend de raid6_pg et xor modules de noyau.
Vérifions s'ils sont activés comme suit:
$ lsmod | grep raid6
$ lsmod | grep xor
Comme vous pouvez le voir, aucun des modules n'est chargé.
Maintenant, exécutez les commandes suivantes pour charger raid6_pq et xor Modules du noyau:
$ sudo modprobe raid6_pq
$ sudo modprobe xor
Vérinons maintenant si les modules du noyau de dépendance sont à nouveau chargés:
$ lsmod | grep raid6
$ lsmod | grep xor
Comme vous pouvez le voir, les modules de noyau sont chargés.
Maintenant, vous pouvez charger le btrfs Module du noyau avec la commande suivante:
$ sudo modprobe btrfs
Maintenant vérifions si le btrfs Le module du noyau est chargé de la commande suivante:
$ lsmod | btrfs grep
Comme vous pouvez le voir, le btrfs Le module du noyau est chargé et cela dépend du raid6_pq et le xor modules de noyau.
La plupart du temps modprobe La commande résoudra automatiquement les dépendances. Mais je vous ai montré comment le faire manuellement parce que parfois vous devrez peut-être le faire de cette façon. Il est préférable de savoir comment résoudre un problème car vous devrez peut-être y faire face un jour.
Suppression des modules avec modprobe:
Vous pouvez également supprimer les modules avec modprobe commande. Si aucun autre module ne dépend du module que vous souhaitez supprimer, le processus est simple.
Par exemple, pour supprimer le btrfs Module que je charge plus tôt, exécutez la commande suivante:
$ sudo modprobe -r btrfs
Le module doit être supprimé.
Si d'autres modules dépendent du module que vous souhaitez supprimer, vous devrez d'abord supprimer ces modules avant de pouvoir supprimer votre module souhaité.
C'est essentiellement tout ce que vous devez savoir sur la gestion des modules de noyau sur Debian. Merci d'avoir lu cet article.