Il existe des modules pour votre matériel graphique (GPU), différents systèmes de fichiers (tels que ext4, zfs, btrfs), des matériels réseau, un écran, un clavier et différents périphériques d'entrée et bien d'autres.
Dans cet article, je vais vous montrer comment utiliser sonde de modulation 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.
Le répertoire des modules par défaut :
Tous les modules dans Debian sont stockés est le /lib/modules/$(uname -r) annuaire.
Les modules du noyau sont stockés dans un sous-répertoire kernel/. 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)/kernel
Liste de tous les modules de noyau disponibles :
Vous pouvez lister tous les modules du noyau dans une arborescence bien formatée avec la commande suivante :
$ tree /lib/modules/$(uname -r)/kernel
REMARQUE: La commande tree n'est pas installée par défaut. Vous devrez l'installer manuellement avec arbre d'installation sudo apt
Comme vous pouvez le voir, les répertoires et les modules du noyau sont répertoriés sous forme d'arborescence.
C'est une très longue liste. Vous pouvez également le transmettre à un pager tel que less comme suit pour faciliter la navigation dans la liste :
$ tree /lib/modules/$(uname -r)/kernel | moins
Vous pouvez maintenant appuyer sur le
Vous pouvez rechercher des modules dans le moins pager. Appuyez simplement sur / et tapez votre mot-clé de recherche.
Maintenant, appuyez sur
Vous pouvez également appuyer sur m et p pour passer respectivement au résultat suivant ou au résultat précédent.
Pour quitter le téléavertisseur, appuyez sur q.
Liste de tous les modules du noyau chargés :
Vous pouvez lister tous les modules du noyau qui sont 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 la 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 de noms de modules séparés par des virgules.
Le nombre détermine combien de modules dépendent de ce module. Si c'est 0, cela signifie qu'aucun autre module ne dépend de ce module. Par exemple, le pppdev le module n'est utilisé par aucun autre module. Ainsi, vous pouvez supprimer ou ajouter en toute sécurité pppdev module 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 de snd_pcm module comme vous pouvez le voir dans la section marquée de la capture d'écran ci-dessous. Donc tu ne peux 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 afin de supprimer snd_pcm module.
Obtenir des informations sur un module de noyau spécifique :
Maintenant que vous savez répertorier tous les modules du noyau disponibles et les modules du noyau chargés. Dans cette section, je vais vous montrer comment obtenir des informations sur n'importe quel module du noyau.
Sur Debian, vous pouvez utiliser le info mod 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 connaître pour travailler avec des modules sur Deban. Par exemple, si vous souhaitez activer snd_pcm module, vous devez également activer pour snd et minuterie modules avant de le faire. Comme snd_pcm dépend de snd et minuterie. Sinon, ça ne marchera pas.
Chargement d'un nouveau module de noyau à l'aide de modprobe :
Vous pouvez charger de nouveaux modules du noyau en utilisant le sonde de modulation commander. Par exemple, disons que vous voulez activer le btrfs module de noyau de système de fichiers.
Vérifiez d'abord quels modules le btrfs les modules du noyau dépendent de avec info mod comme suit:
$ sudo modinfo btrfsComme vous pouvez le voir, le btrfs le module du noyau dépend de raid6_pg et xor modules du 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é.
Exécutez maintenant les commandes suivantes pour charger raid6_pq et xor modules du noyau :
$ sudo modprobe raid6_pq$ sudo modprobe xor
Vérifions maintenant si les modules de dépendance du noyau sont à nouveau chargés :
$ lsmod | grep raid6$ lsmod | grep xor
Comme vous pouvez le voir, les modules du noyau sont chargés.
Vous pouvez maintenant charger le btrfs module du noyau avec la commande suivante :
$ sudo modprobe btrfs
Vérifions maintenant si le btrfs module du noyau est chargé avec la commande suivante :
$ lsmod | grep btrfs
Comme vous pouvez le voir, le btrfs module du noyau est chargé et cela dépend du raid6_pq et le xor modules du noyau.
Le plus souvent sonde de modulation La commande résoudra automatiquement les dépendances pour vous. Mais je vous ai montré comment le faire manuellement car 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 de modules avec modprobe :
Vous pouvez également supprimer des modules avec sonde de modulation commander. 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 j'ai chargé plus tôt, exécutez la commande suivante :
$ sudo modprobe -r btrfs
Le module doit être retiré.
Si d'autres modules dépendent du module que vous souhaitez supprimer, vous devrez d'abord supprimer ces modules avant de pouvoir supprimer le module souhaité.
C'est essentiellement tout ce que vous devez savoir sur la gestion des modules du noyau sur Debian. Merci d'avoir lu cet article.