modules.conf | Début | Suivant | Sommaire | Préc.page.lue | Accueil |
NOM | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
DESCRIPTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Le fichier de configuration est constitué d'un ensemble de lignes.
Toutes les lignes vides et tous les caractères d'une ligne après un « # » sont ignorés.
Un « \ » en fin de ligne est ignoré ainsi que le saut de ligne suivant,
la ligne se prolonge donc à la suivante.
Les lignes restantes doivent respecter les formats suivant :
[add] above module liste_de_modules alias nom_alias résultat [add] below module liste_de_modules define VARIABLE MOT depfile=UN_CHEMIN else elseif EXPRESSION endif if EXPRESSION include CHEMIN_VERS_UN_FICHIER_DE_CONFIGURATION insmod_opt=OPTIONS_GÉNÉRIQUES_POUR_INSMOD install module commande ... keep [add] options module OPTIONS_SPÉCIFIQUES_AU_MODULE path=UN_CHEMIN path[ÉTIQUETTE]=UN_CHEMIN generic_stringfile=UN_CHEMIN pcimapfile=UN_CHEMIN isapnpmapfile=UN_CHEMIN usbmapfile=UN_CHEMIN parportmapfile=UN_CHEMIN ieee1394mapfile=UN_CHEMIN [add] probe nom liste_de_modules [add] probeall nom liste_de_modules prune nom_de_fichier post-install module commande ... post-remove module commande ... pre-install module commande ... pre-remove module commande ... remove module commande ... persistdir nom_de_répertoire
Tous les arguments d'une directive sont évalués en prenant en compte les méta-caractères du shell, ce qui signifie que les *, ? et les commandes entre « ` » par exemple peuvent être utilisés.
path[misc]=/lib/modules/1.1.5?/local path[net]=/lib/modules/`uname -r`/netDANGER : Appliquer l'expansion du shell à une entrée utilisateur comporte un risque majeur pour la sécurité. Le code modutils n'applique cette expansion que pour les données de confiance, c'est à dire uniquement pour les données du fichier de configuration. Et même cela présuppose qu'un utilisateur ne peut pas lancer modprobe en root en fournissant son propre fichier de configuration. Les programmes (y compris le noyau) qui appellent des programmes modutils en root avec des données utilisateur doivent fournir exactement un paramètre utilisateur et doivent activer le « safe mode » à moins de créer des trous de sécurité. Voir modprobe(8) pour plus de détails sur le « safe mode ».
Les directives peuvent être répétées plusieurs fois. Notez que certaines directives peuvent avoir un préfixe optionnel : add. Quand ce préfixe est utilisé, la nouvelle liste_de_modules sera ajoutée à la liste précédente au lieu de la replacer.
SÉMANTIQUE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
MOT est une séquence de caractères sans espace. Si un caractère ', " ou ` est trouvé dans la chaîne, alors tous les caractères jusqu'au ', " ou ` correspondant sont ajoutés à la chaîne, y compris les espaces. Tout MOT subira une expansion respectant les méta-caractères du shell. Si le résultat après expansion donne plus d'un mot, alors seulement le premier mot sera conservé.
EXPRESSION peut être :
SYNTAXE | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
if EXPRESSION n'importe quelles directives elseif EXPRESSION n'importe quelles directives else n'importe quelles directives endifLes directives else et elseif sont optionnelles.
alias iso9660 isofsil est possible d'écrire modprobe iso9660 même s'il n'y a pas de fichier objet pour un tel module.
alias un_module offfera en sorte que modprobe ignore une demande pour charger ce module. Un autre alias spécial est :
alias un_module nullqui fera que une requête pour un_module réussira toujours, mais aucun module ne sera vraiment chargé. Ceci peut être utilisé comme une base pour les piles créées par les directives above et below.
Il est possible d'avoir un grand nombre de niveaux d'alias, et tous les alias sont résolus récursivement jusqu'à trouver le module physique voulu. Il y a une limite arbitraire de 1 000 sur la profondeur des alias pour détecter les boucles comme :
alias a b alias b a
alias /dev/sg* /dev/sg probeall /dev/sg scsi-hosts sgIl est possible qu'un alias fasse correspondre le module A au module B et que le module A existe en même temps mais cette construction est ambiguë et doit être évitée. Pour des raisons historiques, le noyau a un module appelé « sound.o » mais les développeurs veulent aussi un alias « sound » pointant vers le module utilisé par la carte son de l'utilisateur, par exemple « alias sound sb ». Pour essayer de supporter ceci tout en maintenant le comportement défini par les alias, modprobe n'applique pas la résolution des alias pour un nom obtenu par modules.dep. Il n'est pas garanti que cela donne le bon résultat dans toutes les combinaisons d'alias et de nom réels, vous devez toujours éviter d'utiliser un alias avec le même nom qu'un module réel.
abc='"def,ghi jkl (xyz)"'
Les directives suivantes sont utiles pour exécuter des commandes particulières au chargement et au déchargement d'un module. Même les alias de modules peuvent avoir leurs propres commandes, qui seront exécutées dans le bon ordre avec les directives pour le nom réel du module.
CONFIGURATION PAR DÉFAUT | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
depfile=/lib/modules/`uname -r`/modules.dep
generic_stringfile=/lib/modules/`uname -r`/modules.generic_string
pcimapfile=/lib/modules/`uname -r`/modules.pcimap
isapnpmapfile=/lib/modules/`uname -r`/modules.isapnpmap
usbmapfile=/lib/modules/`uname -r`/modules.usbmap
parportmapfile=/lib/modules/`uname -r`/modules.parportmap
ieee1394mapfile=/lib/modules/`uname -r`/modules.ieee1394map
path[boot]=/lib/modules/boot
path[toplevel]=/lib/modules/`uname -r`
path[toplevel]=/lib/modules/`kernelversion`
path[toplevel]=/lib/modules/default
path[toplevel]=/lib/modules
persistdir=/var/lib/modules/persist
Il y a aussi un ensemble de directives alias et options par défaut. Cet ensemble évoluant sans cesse, il n'est pas listé ici. L'ensemble par défaut utilisé peut être obtenu par la commande modprobe -c avec un fichier /etc/modules.conf vide.
Toutes les directives options indiquent les options nécessaires à un module, comme par exemple dans :
modprobe de620 bnc=1Ces options seront remplacées par les options fournies dans le fichier /etc/modules.conf et sur la ligne de commande de modprobe.
Souvenez-vous qu'il est possible d'avoir des directives options aussi bien pour les alias de modules que pour les noms réels de module. Ceci est utile par exemple pour le module dummy :
alias dummy0 dummy options dummy0 -o dummy0
FICHIER CONFIGURATION ALTERNATIF | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
VOIR AUSSI | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
AUTEUR | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Bjorn Ekwall <bj0rn@blox.se> Keith Owens <kaos@ocs.com.au>
TRADUCTION | Début | Précédent | Suivant | Sommaire | Préc.page.lue | Accueil |
Sommaire | Début | Suivant | Sommaire | Préc.page.lue | Accueil |