DEPMOD
Section : Manuel de l'administrateur Linux (
8)
Mise à jour de la version anglaise : 12 février 2003
Index
Menu principal
NOM
depmod - Gestion des dépendances entre les modules du noyau
SYNOPSIS
depmod
[-aA] [-ehnqrsuvV]
[-C
configfile] [-F
kernelsyms] [-b
basedirectory]
[
forced_version]
depmod [-enqrsuv] [-F
kernelsyms] module1.o module2.o ...
DESCRIPTION
Les utilitaires
depmod
et
modprobe
ont été conçus pour rendre le noyau Linux
modulaire, configurable pour tous les utilisateurs,
administrateurs et concepteurs de distribution.
depmod
crée un fichier de dépendances de type « Makefile », basé sur les symboles
qu'il trouve dans les modules indiqués sur la ligne de commande ou dans les
répertoires indiqués par le fichier de configuration.
Ce fichier est ensuite utilisé par
modprobe
pour charger automatiquement le bon module ou l'ensemble de modules.
L'invocation normale de
depmod
se fait en incluant la ligne
/sbin/depmod -a
dans un fichier de démarrage
de
/etc/rc.d,
afin que les dépendances entre modules soient disponibles
immédiatement après le démarrage du système.
Notez que l'option
-a
est maintenant facultative.
Pour le démarrage, l'option
-q
peut s'avérer plus appropriée car elle permet de laisser depmod silencieux
malgré les symboles non résolus.
On peut aussi créer le fichier de dépendances immédiatement après avoir
compilé un nouveau noyau.
Si vous faites « depmod -a 2.4.21 » après avoir compilé le noyau
2.4.21 et ses modules pour la première fois, tout
en continuant de travailler avec par exemple le 2.4.20, le fichier sera
créé à l'emplacement adéquat.
Dans ce cas toutefois, les dépendances avec le nouveau
noyau ne sont pas garanties.
Voir les options
-F, -C, et -b
pour plus de détails sur ce problème.
Pour analyser les relations entre modules et symboles
exportés,
depmod
ne tient pas compte du status GPL des modules ou des symboles exportés.
Ceci signifie que depmod n'indiquera pas d'erreur si un module sans licence
compatible GPL fait référence à un symbole « GPL seulement » (EXPORT_SYMBOL_GPL
dans le noyau). Néanmoins, insmod refusera de résoudre les symboles « GPL seulement »
pour les modules non-GPL et le véritable chargement échouera.
OPTIONS
- -a, --all
-
Examine les modules dans tous les répertoires spécifiés dans le fichier
(facultatif) de configuration
/etc/modules.conf.
- -A, --quick
-
Comparer les horodatades des fichiers, et au besoin, agir comme
depmod -a.
Cette option ne met à jour le fichier de dépendance qu'en cas de changement.
- -e, --errsyms
-
Affiche tous les symboles non résolus pour chaque module.
- -h, --help
-
Affiche une page d'aide et se termine immédiatement.
- -n, --show
-
Affiche les dépendances sur la sortie standard plutôt que /lib/modules.
- -q, --quiet
-
Demande une exécution silencieuse sans compte-rendu des fonctions manquantes.
- -r, --root
-
Quelques utilisateurs compilent les modules sans droits root et les installent
en étant root. Ceci risque de créer 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 à root. L'option -r supprimera l'erreur et autorisera le
chargement de module n'appartenant pas à root.
-
-
L'utilisation de -r est un danger pour la sécurité et est déconseillée.
- -s, --syslog
-
Envoie les messages d'erreurs au démon syslog plutôt que sur stderr.
- -u, --unresolved-error
-
depmod 2.4 ne donne pas de code de retour lorsqu'il y a des symboles non
résolus. La version majeure suivante de modutils (2.5) fournira un code pour
les symboles non-résolus. Certaines distributions préfèrent un code non-nul
dans modutils 2.4 mais ceci pose des problèmes avec les utilisateurs qui
comptent sur l'ancien comportement. Si vous voulez un code non-num pour depmod
2.4, indiquez -u. depmod 2.5 ignorera silencieusement l'option
-u et renverra toujours un code non-nul en cas de symboles non
résolus;
- -v, --verbose
-
Affiche le nom de chaque module traité.
- -V, --version
-
Affiche la version de depmod.
Les options suivantes sont utiles aux développeurs ds distributions :
- -b basedirectory, --basedir basedirectory
-
Si l'arborescence sous
/lib/modules
contenant les modules est déplacée ailleurs pour gérer les modules dans
différents environnements, l'option
-b
indique à depmod où trouver l'image déplacée de
l'arborescence
/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, --config configfile
-
Utiliser le fichier
configfile
plutôt que le fichier
/etc/modules.conf.
La variable d'environnement
MODULECONF
peut aussi être utilisée pour sélectionner un fichier de configuration
différent de celui par défaut
/etc/modules.conf
ou (déconseillé)
/etc/conf.modules
).
- Quand la variable d'environnement
-
UNAME_MACHINE
est remplie, modutils l'utilisera à la place du champ « machine » de
l'appel système
uname(2).
Ceci est surtout utile si vous compilez des modules
64 bits dans un espace utilisateur 32 bits ou
inversement ; remplissez
UNAME_MACHINE
avec le type de modules construits.
La version actuelle de modutils ne supporte pas la construction croisée complète
de modules, elle est limitée au choix entre 32 et 64 bits de l'architecture
hôte.
- -F kernelsyms,--filesyms 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 des symboles avec numéros de version, il vaut mieux
utiliser une copie de la sortie de
/proc/ksyms,
car ce fichier contient les numéros de version des fonctions du noyau.
Toutefois, vous pouvez utiliser
System.map
même avec les numéros de version.
CONFIGURATION
Le comportement de
depmod
et de
modprobe
peut être ajusté par le fichier (optionnel) de configuration
/etc/modules.conf.
Voir
modprobe(8)
et
modules.conf(5)
pour une description complète.
STRATÉGIE
Chaque fois que vous compilez un 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
sous
/lib/modules.
C'est la stratégie par défaut, laquelle peut être remplacée dans
/etc/modules.conf.
FICHIERS
/etc/modules.conf (aussi, mais déconseillé, /etc/conf.modules)
/lib/modules/*/modules.dep,
/lib/modules/*
BOGUES
depmod [ -V | --version ] devrait se terminer immédiatement. En fait,
il affiche la version et se comporte comme s'il n'avait aucune option.
AUTEURS
Jacques Gelinas (
jack@solucorp.qc.ca)
Bjorn Ekwall (
bj0rn@blox.se)
VOIR AUSSI
modules.conf(5),
modprobe(8),
modinfo(8),
lsmod(8),
ksyms(8)
TRADUCTION
Ce document est une traduction réalisée par Jérome Signouret en 2000
et révisée le 19 novembre 20077.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 8 depmod ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- CONFIGURATION
-
- STRATÉGIE
-
- FICHIERS
-
- BOGUES
-
- AUTEURS
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 19 novembre 2007