Linux |
CentOS 4.8 |
|
modprobe(8) |
modprobe − Manipulations haut niveau de modules chargeables. |
modprobe [ -adnqv ] [ -C config ] module [
symbole=valeur ... ] |
-a, --all |
Charge tous les modules au lieu de s’arrêter après le premier chargement réussi. |
-c, --showconfig |
Affiche la configuration courante. |
-d, --debug |
Affiche des informations à propos du fonctionnement interne de l’ensemble des modules concernés. |
-k, --autoclean |
Rend ’autoclean’ ([NdT] décharger automatiquement quand on ne s’en sert plus) le (ou les) module(s) chargé(s). Utilisé par le noyau quand on appelle modprobe pour satisfaire les dépendances manquantes. L’option -q est sous-jacente lors de l’utilisation de l’option -k. Cette option sera directement envoyée à insmod. |
-l, --list |
Affiche les modules chargeables. |
-n, --show |
Ne rien faire en réalité, indiquer juste ce qui devrait être fait. |
-q, --quiet |
N’explique pas pourquoi insmod échoue. Poursuit de façon normale, mais sans affichage, avec d’autres possibilités pour tester. Cette option sera directement envoyée à insmod. |
-r, --remove |
Enlève le module (ou l’ensemble) ou exécute un ’autoclean’ ([NdT] retire les modules inutilisés), en fonction des modules présents dans la ligne de commande. |
-s, --syslog |
Crée un rapport via syslog plutôt que via stderr. Cette option sera directement envoyée à insmod. |
-t, --type moduletype |
Ne prend en considération que les modules de ce type (tag). |
-v, --verbose |
Affiche toutes les commandes comme elles sont exécutées. |
-V, --version |
Affiche le numéro de version de modprobe. |
-C, --config configfile |
Utilise le fichier de configuration configfile plutôt que (l’optionnel) /etc/modules.conf pour le paramétrage. La variable d’environnement MODULECONF peut être aussi utilisée pour sélectionner (et écrire) un fichier de configuration différent du fichier par défaut /etc/modules.conf (ou /etc/conf.modules (à éviter)). |
Les utilitaires modprobe et depmod rendent le noyau Linux modulaire plus facilement gérable pour tous les utilisateurs, administrateurs et les développeurs de distribution. modprobe utilise un fichier de type "Makefile" pour les dépendances, créé par depmod, pour charger automatiquement les modules dépendants de l’ensemble des modules disponibles dans les répertoires prédéfinis. modprobe sert à charger un ensemble de modules, un seul module, les modules dépendants, ou tous les modules marqués par une étiquette spécifique. modprobe chargera automatiquement la base de modules nécessaire à un ensemble, comme décrit dans le fichier de dépendances modules.dep. Si un chargement échoue, la totalité des modules chargés par la commande sera déchargée automatiquement. modprobe a deux façons pour charger
des modules. La première (le mode d’essai)
essaiera de charger un module de la liste
(définie par pattern). modprobe
arrête le chargement dès
qu’un modules est chargé avec
succès. Cela peut être
utilisé pour charger automatiquement un pilote
de carte ethernet parmi d’autres. Avec l’option -r, modprobe déchargera automatiquement l’ensemble des modules, de la même façon qu’en utilisant rmmod -r. On peut noter que modprobe −r seul fera le ménage parmi les modules inutilisés et lancera les commandes de pré- et de post-enlèvement dans le fichier de configuration /etc/modules.conf. Avec l’option -l combinée avec l’option -t une liste de tous les modules disponibles d’un type donné sera affichée. L’option -c affichera la configuration courante (par défaut et le fichier de configuration). |
Le comportement de modprobe (et de depmod)
peut être modifié par le fichier
(optionnel) de configuration /etc/modules.conf. Note : les commandes de pré- et de
post-enlèvement ne seront pas
exécutées si un module est
déchargé par kerneld (car ce
module est marqué ’autoclean’) !
Voir plutôt le support imminent des modules
persistants. |
L’idée est que modprobe regardera en premier dans le répertoire contenant les modules compilés pour la version spécifique du noyau en cours d’exécution (/lib/modules/2.2.12-20/ par exemple). Si le module n’est pas trouvé ici, modprobe ira dans le répertoire commun de la version du noyau (ex. 2.0, 2.2). Quand vous installez un nouveau noyau, les modules sont déplacés dans le répertoire relatif à la version spécifique (et à la version générale) du noyau que vous installez. Alors vous devez créer un lien symbolique de ce répertoire vers le répertoire par défaut. Chaque fois que vous compilez un nouveau noyau, la commande make modules_install créera un nouveau répertoire, mais ne change pas le lien par défaut. Quand vous avez un module non relié à la distribution du noyau vous devez le mettre dans un des répertoires indépendants de la version sous /lib/modules. C’est la stratégie par défaut. On peut passer outre avec /etc/modules.conf. |
modprobe −t net |
Charge un des modules qui sont stockés dans le répertoire étiqueté "net". Chaque module est essayé jusqu’à réussite. |
modprobe −a −t boot |
Tous les modules qui sont dans les répertoires étiquetés boot seront chargés. |
modprobe slip |
Cela tentera de charger le module slhc.o si il n’a pas déjà été chargé, car le module slip a besoin de fonctionnalités du module slhc. Cette dépendance est décrite dans le fichier "modules.dep" qui est créé automatiquement par depmod |
modprobe −r slip |
déchargera le module slip. Il enlèvera aussi le module slhc automatiquement, s’il n’est pas utilisé par d’autres modules bien sûr (comme ppp). |
/etc/modules.conf, (aussi mais à éviter: /etc/conf.modules) /lib/modules/*/modules.dep, /lib/modules/* |
depmod(8), lsmod(8), kerneld(8), ksyms(8), rmmod(8), modules(2). |
depmod(8), insmod(8). |
Le motif pattern fourni à modprobe aura souvent besoin d’être actualisé pour s’assurer que la recherche se fait dans un contexte clair. |
Jacques Gelinas (jack@solucorp.qc.ca) |
Jérome Signouret, 2000. |
modprobe(8) |