Linux |
CentOS 4.8 |
|
depmod(8) |
depmod − gestion des dépendances entre les modules du noyau. |
depmod -a [-einqsvVr] [-C configfile] [-F
kernelsyms] [-b basedirectory] [forced_version] |
-a |
Examine les modules dans tous les répertoires spécifiés dans le fichier (facultatif) de configuration /etc/modules.conf. |
||
-e |
Affiche toutes les fonctions non trouvées ([NdT] unresolved symbol) pour chaque module. |
||
-i |
Ignore les versions des symboles lors de la construction de la liste des dépendances. C’est utile si vous utilisez une version du noyau et que vous voulez construire des dépendances différentes de celles du fichier System.map voir l’option -F). à utiliser avec prudence, car si la version n’est pas la même, modprobe ou insmod ne pourra pas charger les modules même si depmod a réussi. |
||
-n |
Envoie le fichier de dépendance sur la sortie standard plutôt que dans /lib/modules. |
||
-s |
Envoie tous les messages d’erreurs au démon syslog plutôt que de les écrire sur stderr. |
||
-v |
Affiche le nom de chaque module traité. |
||
-q |
Demande une exécution silencieuse sans compte-rendu des fonctions manquantes. |
||
-V |
Affiche la version de depmod. |
||
-r |
Quelques utilisateurs compilent les modules sans les droits root et les installent comme s’ils étaient root. Ce procédé peut engendrer des modules n’appartenant pas à root, même si le répertoire des modules est propriété du root. Si un tel compte utilisateur est piraté, un intrus peut modifier ces modules et les utiliser pour obtenir un accès root. Par défaut, modutils rejettera les demandes d’utilisation d’un module qui n’appartient au root. Spécifier -r supprimera l’erreur et autorisera le chargement des modules qui n’appartiennent pas au root. L’utilisation de -r est un danger pour la sécurité et n’est pas recommandée. |
Les options suivantes sont utiles aux personnes qui développent des distributions : |
−b basedirectory |
Cette option indique à depmod où se trouve le point de départ de l’arborescence des modules, dans le cas où ce n’est pas /lib/modules. Les noms indiqués dans le fichier modules.dep créé par depmod, ne contiendront pas basedirectory. Cela signifie que l’arborescence basedirectory/lib/modules pourra se retrouver dans /lib/modules dans la distribution, avec toutes les références correctes. |
-C configfile |
Utilise le fichier configfile plutôt
que le fichier /etc/modules.conf. |
-F kernelsyms |
Quand on construit les fichiers des dépendances pour un noyau différent de celui en cours d’utilisation, il est important que depmod utilise le bon jeu de fonctions pour trouver les références du noyau dans chaque module. Ces fonctions peuvent être une copie de System.map provenant d’un autre noyau, ou une copie de la sortie de /proc/ksyms. Si votre noyau utilise d’autres versions des fonctions, vous devez utilisez une copie de la sortie de /proc/ksyms, car ce fichier contient les fonctions de version des fonctions du noyau, à moins d’utiliser l’option -i. Pour obtenir la compatibilité, -m kernelsyms est identique à -F kernelsyms |
Les utilitaires depmod et modprobe sont faits pour rendre le noyau modulaire de Linux utilisable par tous les utilisateurs, administrateurs et développeurs de distribution. depmod crée un fichier de type "makefile" pour les dépendances, basé sur les fonctions qu’il trouve dans l’ensemble des modules mentionnés sur sa ligne de commande ou provenant des répertoires spécifiés dans le fichier de configuration. Ce fichier de dépendances sera utilisé par modprobe pour charger automatiquement le module demandé ou l’ensemble des modules. Une utilisation normale de depmod est
d’inclure la ligne /sbin/depmod -a quelque part
dans un fichier rc dans /etc/rc.d, pour que les
dépendances des modules soient valides
dès que le système
démarre. Il est aussi possible de créer le ficher des
dépendance juste après avoir
compilé un nouveau noyau. Si vous faites
"depmod -a 2.2.99" quand vous avez
compilé le noyau 2.2.99 et ses modules dans un
premier temps, pendant que le noyau 2.2.98 (par exemple)
continue de s’exécuter, le fichier sera
créé là où il
faut. |
Le comportement de depmod et de modprobe
peut être ajusté par le fichier
(optionnel) de configuration /etc/modules.conf |
Chaque fois que vous compilez un nouveau noyau, la commande make modules_install créera un nouveau répertoire, mais ne changera pas le répertoire par défaut. Quand vous avez un module non relié à la distribution du noyau, vous devez le mettre dans un répertoire indépendant de la version dans /lib/modules. C’est la stratégie par défaut, laquelle peut être remplacée par une modification de /etc/modules.conf. |
/etc/modules.conf /lib/modules/*/modules.dep, /lib/modules/* |
modules.conf(5), modprobe(8), modinfo(8), lsmod(8), ksyms(8), modules(2). |
Jacques Gelinas (jack@solucorp.qc.ca) |
Jérome Signouret, 2000. |
depmod(8) |