prénom
modprobe - traitement de haut niveau des modules chargeables
Synopsis
modprobe -adnqv -C config module symbole = valeur …modprobe -adnqv -C config -t type modèlemodprobe -l -C config -t type modèlemodprobe -c -C config modprobe -r -dnv -C config module …modprobe -Vh
Les options
-une, --tout
Chargetout faire correspondre les modules au lieu de s’arrêter après le premier chargement réussi.
-c, --showconfig
Affiche la configuration actuellement utilisée.
-C, --config config
Utilisez le fichier config au lieu de (optionnel) /etc/modules.conf pour spécifier la configuration. La variable d'environnementMODULECONF peut également être utilisé pour sélectionner (et remplacer) un fichier de configuration différent du fichier /etc/modules.conf par défaut (ou /etc/conf.modules (obsolète)).
Quand variable d'environnementUNAME_MACHINE est défini, modutils utilisera sa valeur à la place du champ machine du syscall uname (). C’est surtout utile lorsque vous compilez des modules 64 bits dans un espace utilisateur 32 bits ou inversement, définissezUNAME_MACHINE au type des modules. Modutils actuel ne prend pas en charge le mode de construction transversale complet pour les modules, il se limite à choisir entre les versions 32 et 64 bits de l’architecture hôte.
-ré, --déboguer
Affiche des informations sur la représentation interne de la pile de modules.
-h, --Aidez-moi
Affiche un résumé des options et quitte immédiatement.
-k, --autoclean
Définissez 'autoclean' sur les modules chargés. Utilisé par le noyau quand il appellemodprobe pour satisfaire une caractéristique manquante (fournie en tant que module). le-q l'option est implicite par-k. Ces options seront automatiquement envoyées àinsmod.
-l, --liste
Liste des modules correspondants.
-n, --spectacle
N'effectuez pas réellement l'action, mais montrez simplement ce qui serait fait.
-q, --silencieux
Ne pas se plaindre deinsmod à défaut d'installer un module. Continuez comme d'habitude, mais en silence, avec d'autres possibilités de test de modprobe. Cette option sera automatiquement envoyée àinsmod.
-r, --retirer
Supprimez le module (piles) ou effectuez un nettoyage automatique, selon qu’il existe un ou plusieurs modules mentionnés sur la ligne de commande.
-s, --syslog
Rapport via syslog au lieu de stderr. Ces options seront automatiquement envoyées àinsmod.
-t type de module ; --type type de module
Ne considérez que les modules de ce type. modprobe examinera uniquement les modules dont le chemin de répertoire inclut exactement " / moduletype / '. type de module peut inclure plusieurs noms de répertoire, par exemple. "-t pilotes / net "listerait les modules dans xxx / drivers / net / et ses sous-répertoires.
-v, --verbeux
Imprimer toutes les commandes au fur et à mesure de leur exécution.
-V, --version
Afficher la version demodprobe.
Remarque:
Les noms de modules ne doivent pas contenir de chemins (pas de '/'), ils ne peuvent pas non plus contenir le '.o' final. Par exemple, slip est un nom de module valide pourmodprobe, /lib/modules/2.2.19/net/slip et slip.o sont invalides. Ceci s’applique à la ligne de commande et aux entrées de la configuration.
Description de la commande
lemodprobe etdepmod Les utilitaires sont conçus pour rendre un noyau modulaire Linux plus facile à gérer pour tous les utilisateurs, administrateurs et responsables de la distribution.
Modprobe utilise un fichier de dépendance de type "Makefile", créé pardepmod, pour charger automatiquement le ou les modules pertinents parmi l’ensemble des modules disponibles dans des arborescences de répertoires prédéfinies.
Modprobe est utilisé pour charger un seul module, une pile de modules dépendants ou tous les modules marqués avec une balise spécifiée.
Modprobe chargera automatiquement tous les modules de base nécessaires dans une pile de modules, comme décrit dans le fichier de dépendance modules.dep . Si le chargement de l'un de ces modules échoue, toute la pile actuelle de modules chargés dans la session en cours sera déchargée automatiquement.
Modprobe a deux façons de charger des modules. Une manière (le mode sonde) essaiera de charger un module hors d’une liste (définie par modèle ). Modprobe arrête le chargement dès qu'un module est chargé avec succès. Cela pourrait être utilisé pour charger automatiquement un pilote Ethernet dans une liste. L'autre côtémodprobe peut être utilisé est de chargertout modules d'une liste. VoirEXEMPLES, au dessous de.
Avec l'option-r, modprobe déchargera automatiquement une pile de modules, comme "rmmod -r"fait. Notez que l'utilisation juste"modprobe -r"nettoie les modules autoloadés inutilisés et exécute également les commandes de pré et post-suppression dans le fichier de configuration /etc/modules.conf .
La combinaison des options-l et-t liste tous les modules disponibles d'un certain type.
Option-c imprimera la configuration actuellement utilisée (valeur par défaut + fichier de configuration).
Configuration
Le comportement demodprobe (etdepmod) peut être modifié par le fichier de configuration (optionnel) /etc/modules.conf . Pour une description plus détaillée de ce que ce fichier peut contenir, ainsi que de la configuration par défaut utilisée pardepmod etmodprobe, voirmodules.conf(5).
Notez que les commandes avant et après suppression serontne pas être exécuté si un module est "autocleaned" par kerneld! Recherchez plutôt le support à venir pour le stockage de module persistant. Si vous souhaitez utiliser les fonctionnalités de pré-installation et de post-installation, vous devrez désactiver autoclean pour kerneld et mettre à la place quelque chose comme la ligne suivante dans votre commande.crontab (ceci est également utilisé pour les systèmes kmod) pour effectuer un nettoyage automatique toutes les 2 minutes: * / 2 * * * * test -f / proc / modules && / sbin / modprobe -r
Stratégie
L'idée est quemodprobe regardera d’abord dans le répertoire contenant les modules compilés pour la version actuelle du noyau. Si le module n'y est pas trouvé,modprobe examinera le répertoire commun à la version du noyau (par exemple, 2.0, 2.2). Si le module est toujours trouvé,modprobe cherchera dans le répertoire contenant les modules une version par défaut, etc.
Lorsque vous installez un nouveau linux, les modules doivent être déplacés vers un répertoire lié à la version (et à la version) du noyau que vous installez. Ensuite, 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 changera pas le lien" par défaut ".
Lorsque vous obtenez un module non lié à la distribution du noyau, vous devez le placer dans l’un des répertoires indépendants de la version sous / lib / modules .
C’est la stratégie par défaut, qui peut être remplacée dans /etc/modules.conf .
Exemples
modprobe -t net
Chargez l'un des modules stockés dans le répertoire étiqueté "net". Chaque module est essayé jusqu'à ce qu'on réussisse.
modprobe -a -t boot
Tous les modules qui sont stockés dans des répertoires étiquetés "boot" seront chargés.
fiche de sondage
Cela tentera de charger le module slhc.o s'il n'a pas déjà été chargé, car le module de glissement a besoin de la fonctionnalité du module slhc. Cette dépendance sera décrite dans le fichier modules.dep qui a été créé automatiquement pardepmod.
modprobe -r glissement
Cela déchargera le module de glissement. Il déchargera également le module slhc automatiquement, sauf s’il est également utilisé par un autre module (par exemple, ppp).
Voir également:
depmod (8),lsmod(8), Kerneld(8), ksyms(8), rmmod(8).
Mode sans échec
Si le uid effectif n'est pas égal au uid réel, alorsmodprobe traite son entrée avec une extrême suspicion. Le dernier paramètre est toujours traité comme un nom de module, même s'il commence par «-». Il ne peut y avoir qu'un seul nom de module et les options de la forme "variable = valeur" sont interdites. Le nom du module est toujours traité comme une chaîne. Aucune méta-expansion n'est effectuée en mode sans échec. Cependant, la méta-expansion est toujours appliquée aux données lues à partir du fichier de configuration.
euid peut ne pas être égal à uid lorsque modprobe est appelé à partir du noyau, cela est vrai pour les noyaux> = 2.4.0-test11. Dans un monde idéal,modprobe pourrait faire confiance au noyau pour ne transmettre que des paramètres valides à modprobe. Toutefois, au moins un exploit racine local est survenu car le code de noyau de haut niveau a transmis les paramètres non vérifiés directement de l'utilisateur à modprobe. Ainsi, modprobe ne fait plus confiance aux entrées du noyau.
modprobe définit automatiquement le mode sans échec lorsque l'environnement est constitué uniquement de ces chaînes
HOME = / TERM = linux CHEMIN = / sbin: / usr / sbin: / bin: / usr / bin
Cela détecte l'exécution du modprobe à partir du noyau sur les noyaux 2.2 à 2.4.0-test11, même si uid == euid, ce qui est le cas sur les noyaux précédents.
Commandes de journalisation
Si répertoire / var / log / ksymoops existe etmodprobe est exécuté avec une option qui pourrait charger ou supprimer un module, puis modprobe enregistrera sa commande et retournera son statut / var / log / ksymoops / `date +% Y% m% d.log` . Il n’existe aucun commutateur pour désactiver cette journalisation automatique; si vous ne le souhaitez pas, ne créez pas / var / log / ksymoops . Si ce répertoire existe, il doit appartenir à root et être en mode 644 ou 600 et vous devez exécuter le scriptinsmod_ksymoops_clean tous les jours ou à peu près.
Utilitaires requis
depmod(8), insmod(8).
Important: Utilisez le homme commande ( % homme ) pour voir comment une commande est utilisée sur votre ordinateur.