Naam
modprobe - behandeling op hoog niveau van laadbare modules
Korte inhoud
modprobe -adnqv -C config module symbool = waarde …modprobe -adnqv -C config -t type patroonmodprobe -l -C config -t type patroonmodprobe -c -C config modprobe -r -dnv -C config module …modprobe VH
opties
-een, --allemaal
Ladenallemaal matching modules in plaats van stoppen na de eerste succesvolle laden.
-C, --showconfig
Toon de momenteel gebruikte configuratie.
-C, --config config
Gebruik het bestand config in plaats van (de optionele) /etc/modules.conf om de configuratie op te geven. De omgevingsvariabeleMODULECONF kan ook worden gebruikt om een ander configuratiebestand te selecteren (en op te heffen) uit de standaardinstelling /etc/modules.conf (of /etc/conf.modules (verouderd)).
Wanneer omgevingsvariabeleUNAME_MACHINE is ingesteld, modutils gebruikt de waarde ervan in plaats van het machineveld uit de syscriptnaam (). Dit is vooral handig wanneer u 64-bits modules in 32-bits gebruikersruimte compileert of andersom insteltUNAME_MACHINE naar het type modules. De huidige modutils ondersteunen niet de volledige cross-buildmodus voor modules, het is beperkt tot het kiezen tussen 32- en 64-bitversies van de hostarchitectuur.
-d, --debug
Informatie weergeven over de interne weergave van de stapel modules.
-h, --helpen
Geef een overzicht van opties weer en sluit onmiddellijk af.
-k, --automatische schoonmaak
Stel 'autoclean' in op geladen modules. Gebruikt door de kernel wanneer deze wordt aangeroepenmodprobe om te voldoen aan een ontbrekende functie (geleverd als een module). De-q optie wordt geïmpliceerd door-k. Deze opties worden automatisch verzonden naarinsmod.
l, --lijst
Lijst matching modules.
-n, --laten zien
Voer de actie niet uit, laat gewoon zien wat er zou gebeuren.
-q, --stil
Klaag niet overinsmod het niet installeren van een module. Ga door zoals normaal, maar stil, met andere mogelijkheden om de modprobe te testen. Deze optie wordt automatisch verzonden naarinsmod.
-r, --verwijderen
Verwijder module (stacks) of autoclean, afhankelijk van of er modules zijn vermeld op de opdrachtregel.
-s, --syslog
Rapporteer via syslog in plaats van stderr. Deze optie wordt automatisch verzonden naarinsmod.
-t moduletype ; --type moduletype
Overweeg alleen modules van dit type. modprobe kijkt alleen naar modules waarvan het directorypad exact " / Moduletype / '. moduletype kan meer dan één directorynaam bevatten, b.v. "-t drivers / net "zou modules in vermelden xxx / drivers / net / en zijn submappen.
-v, --verbose
Druk alle opdrachten af terwijl ze worden uitgevoerd.
-V, --versie
Toon de versie vanmodprobe.
Notitie:
Modulenamen mogen geen paden bevatten (geen '/'), en mogen ook niet het achterliggende '.o' bevatten. Slip is bijvoorbeeld een geldige modulenaam voormodprobe, /lib/modules/2.2.19/net/slip en slip.o zijn ongeldig. Dit is van toepassing op de opdrachtregel en op invoer in de config.
Beschrijving van het commando
Demodprobe endepmod utilities zijn bedoeld om een Linux-modulaire kernel beheersbaarder te maken voor alle gebruikers, beheerders en verdelers.
modprobe gebruikt een "Makefile" -achtig afhankelijkheidsbestand, gecreëerd doordepmod, om de relevante module (s) automatisch te laden uit de set modules beschikbaar in vooraf gedefinieerde directory-trees.
modprobe wordt gebruikt om een enkele module, een stapel afhankelijke modules of alle modules te laden die zijn gemarkeerd met een opgegeven tag.
modprobe laadt automatisch alle basismodules die nodig zijn in een modulestapel, zoals beschreven door het afhankelijkheidsbestand modules.dep . Als het laden van een van deze modules mislukt, wordt de gehele huidige stapel modules die in de huidige sessie zijn geladen automatisch verwijderd.
modprobe heeft twee manieren om modules te laden. Eén manier (de probemodus) zal proberen een module uit een lijst te laden (gedefinieerd door patroon ). modprobe stopt met laden zodra een module met succes is geladen. Dit kan worden gebruikt om één Ethernet-stuurprogramma automatisch uit een lijst te laden. De andere wegmodprobe kan gebruikt worden om te ladenallemaal modules uit een lijst. ZienVoorbeelden, hieronder.
Met de optie-r, modprobe zal automatisch een stapel modules ontladen, vergelijkbaar met de manier "rmmod -r"doet. Merk op dat het gebruik van slechts"modprobe -r"zal ongebruikte automatisch geladen modules opruimen en ook de pre- en post-remove-commando's uitvoeren in het configuratiebestand /etc/modules.conf .
Het combineren van de optiesl en-t geeft een lijst van alle beschikbare modules van een bepaald type.
Keuze-C zal de momenteel gebruikte configuratie afdrukken (standaard + configuratiebestand).
Configuratie
Het gedrag vanmodprobe (endepmod) kan worden gewijzigd door het (optionele) configuratiebestand /etc/modules.conf . Voor een meer gedetailleerde beschrijving van wat dit bestand kan bevatten, evenals de standaardconfiguratie die wordt gebruikt doordepmod enmodprobe, zienmodules.conf(5).
Merk op dat de opdrachten voor en na het verwijderen zullenniet wordt uitgevoerd als een module door kerneld "autocleaned" wordt! Zoek in plaats daarvan naar de komende ondersteuning voor permanente opslag van modules. Als je de pre- en post-install-functies wilt gebruiken, moet je autoclean voor kerneld uitschakelen en in plaats daarvan iets als de volgende regel in jecrontab (dit wordt ook gebruikt voor kmod-systemen) om elke 2 minuten autoclean te doen: * / 2 * * * * test -f / proc / modules && / sbin / modprobe -r
Strategie
Het idee is datmodprobe zal eerst in de map kijken die modules bevat die gecompileerd zijn voor de huidige versie van de kernel. Als de module daar niet wordt gevonden,modprobe zal kijken in de map die de kernelversie gemeenschappelijk heeft (bijvoorbeeld 2.0, 2.2). Als de module nog steeds wordt gevonden,modprobe zal in de map kijken die modules bevat voor een standaardrelease, enzovoort.
Wanneer u een nieuwe linux installeert, moeten de modules worden verplaatst naar een directory die is gerelateerd aan de release (en versie) van de kernel die u installeert. Dan zou u een symlink van deze folder aan de "standaard" folder moeten doen.
Elke keer dat je een nieuwe kernel compileert, is het commando "maak modules_install"zal een nieuwe map maken, maar zal de" standaard "link niet veranderen.
Wanneer u een module krijgt die niet gerelateerd is aan de kerneldistributie, moet u deze in een van de versie-onafhankelijke directory's onder plaatsen / Lib / modules .
Dit is de standaardstrategie, die kan worden opgeheven in /etc/modules.conf .
Voorbeelden
modprobe -t net
Laad een van de modules die zijn opgeslagen in de map met het label "net". Elke module wordt uitgeprobeerd totdat één is geslaagd.
modprobe -a -t opstarten
Alle modules die zijn opgeslagen in mappen die zijn gelabeld als "boot" worden geladen.
modprobe slip
Hiermee wordt geprobeerd de module slhc.o te laden als deze niet eerder is geladen, omdat de slipmodule de functionaliteit in de slhc-module nodig heeft. Deze afhankelijkheid wordt in het bestand beschreven modules.dep dat is automatisch gemaakt doordepmod.
modprobe -r slip
Hiermee wordt de slipmodule ontladen. Het zal ook de slhc-module automatisch ontladen, tenzij deze ook door een andere module wordt gebruikt (bijvoorbeeld ppp).
Zie ook:
depmod (8),lsmod(8), kerneld(8), ksyms(8), rmmod(8).
Veilige modus
Als de effectieve uid dan niet gelijk is aan de echte uidmodprobe behandelt zijn inbreng met extreem wantrouwen. De laatste parameter wordt altijd behandeld als een modulenaam, zelfs als deze begint met '-'. Er kan slechts één modulenaam zijn en de opties van het formulier "variable = value" zijn verboden. De modulenaam wordt altijd behandeld als een tekenreeks, er wordt geen meta-uitbreiding uitgevoerd in de veilige modus. Meta-uitbreiding wordt echter nog steeds toegepast op gegevens die worden gelezen uit het configuratiebestand.
euid is mogelijk niet gelijk aan uid als modprobe wordt aangeroepen vanuit de kernel, dit geldt voor kernels> = 2.4.0-test11. In een ideale wereld,modprobe kon de kernel vertrouwen om alleen geldige parameters door te geven aan modprobe. Er is echter ten minste één lokale root-exploit opgetreden omdat kernelcode op hoog niveau ongeverifieerde parameters direct van de gebruiker naar modprobe doorstuurde. Modprobe vertrouwt dus niet langer de kernel-invoer.
modprobe stelt automatisch de veilige modus in wanneer de omgeving alleen uit deze strings bestaat
HOME = / TERM = linux PATH = / sbin: / usr / sbin: / bin: / usr / bin
Dit detecteert modprobe-uitvoering vanuit de kernel op kernels 2.2 hoewel 2.4.0-test11, zelfs als uid == euid, wat het doet op de eerdere kernels.
Logcommando's
Als map / Var / log / ksymoops bestaat enmodprobe wordt uitgevoerd met een optie die een module kan laden of verwijderen en vervolgens registreert modprobe zijn opdracht- en retourstatus / var / log / ksymoops / `date +% Y% m% d.log` . Er is geen switch om deze automatische logboekregistratie uit te schakelen. Als u niet wilt dat dit gebeurt, maak dan niet aan / Var / log / ksymoops . Als die map bestaat, moet deze eigendom zijn van root en modus 644 of 600 zijn en moet u script uitvoereninsmod_ksymoops_clean elke dag of zo.
Vereiste hulpprogramma's
depmod(8), insmod(8).
Belangrijk: Gebruik de man commando ( % man ) om te zien hoe een opdracht wordt gebruikt op uw specifieke computer.




