Skip to main content

Alt om Linux / Unix Command: modprobe

insmod vs modprobe in LINUX (Juni 2026)

insmod vs modprobe in LINUX (Juni 2026)
Anonim

Navn

modprobe - høj niveau håndtering af belastbare moduler

Synopsis

modprobe -adnqv -C config modul symbol = værdi …modprobe -adnqv -C config -t type mønstermodprobe -l -C config -t type mønstermodprobe -c -C config modprobe -r -dnv -C config modul …modprobe VH

Muligheder

-en, --alle

belastningalle matchende moduler i stedet for at stoppe efter den første succesfulde indlæsning.

-c, --showconfig

Vis den aktuelt anvendte konfiguration.

-C, --config config

Brug filen config i stedet for (det valgfrie) /etc/modules.conf at angive konfigurationen. MiljøvariablenMODULECONF kan også bruges til at vælge (og tilsidesætte) en anden konfigurationsfil fra standard /etc/modules.conf (eller /etc/conf.modules (Forældet)).

Når miljøvariabelUNAME_MACHINE er indstillet, vil modutils bruge sin værdi i stedet for maskinfeltet fra uname () syscall. Dette er primært brug, når du samler 64 bit moduler i 32 bit brugerrum eller omvendt, sætUNAME_MACHINE til typen af ​​modulerne. Aktuelle modutilsystemer understøtter ikke fuld cross-build-tilstand til moduler, det er begrænset til at vælge mellem 32 og 64-bit versioner af værtsarkitekturen.

-d, --fejlfinde

Vis oplysninger om den interne repræsentation af modulmodellen.

-h, --Hjælp

Vis et resumé af muligheder og straks afslutte.

-k, --autoclean

Indstil 'autoclean' på indlæste moduler. Bruges af kernen, når den tændesmodprobe for at tilfredsstille en manglende funktion (leveres som et modul). Det-q mulighed er underforstået af-k. Disse indstillinger sendes automatisk tilinsmod.

-l, --liste

Liste matchende moduler.

-n, --at vise

Faktisk ikke udføre handlingen, bare vis hvad der ville blive gjort.

-q, --rolige

Ikke klage overinsmod manglende installation af et modul. Fortsæt som normalt, men lydløst, med andre muligheder for modprobe at teste. Denne indstilling sendes automatisk tilinsmod.

-r, --fjerne

Fjern modul (stakke) eller gør autoklean, afhængigt af om der er moduler nævnt på kommandolinjen.

-s, --syslog

Rapport via syslog i stedet for stderr. Disse indstillinger sendes automatisk tilinsmod.

-t moduletype ; --type moduletype

Overvej kun moduler af denne type. modprobe vil kun se på moduler, hvis katalogvej indeholder nøjagtigt " / Moduletype / '. moduletype kan omfatte mere end et katalognavn, f.eks. "-t drivere / netto "ville liste moduler i xxx / drivere / netto / og dets underkataloger.

-v, --ordrig

Udskriv alle kommandoer, da de udføres.

-V, --version

Vis versionen afmodprobe.

Bemærk:

Modulnavne må ikke indeholde stier (nej '/'), og de må heller ikke indeholde den efterfølgende '.o'. For eksempel er slip et gyldigt modulnavn formodprobe, /lib/modules/2.2.19/net/slip og slip.o er ugyldige. Dette gælder for kommandolinjen og til indgange i config.

Beskrivelse af kommandoen

Detmodprobe ogdepmod værktøjer er beregnet til at gøre en Linux modulær kerne mere håndterbar for alle brugere, administratorer og distributionsunderholdere.

modprobe bruger en "Makefile" -lignende afhængighedsfil, oprettet afdepmod, for automatisk at indlæse det relevante modul (er) fra det sæt af moduler, der er tilgængelige i foruddefinerede katalogtræer.

modprobe bruges til at indlæse et enkelt modul, en stak af afhængige moduler eller alle moduler, der er markeret med et angivet mærke.

modprobe vil automatisk indlæse alle basismoduler, der er nødvendige i en modulstabel, som beskrevet af afhængighedsfilen modules.dep . Hvis indlæsningen af ​​et af disse moduler fejler, bliver hele den nuværende stak moduler, der er indlæst i den aktuelle session, automatisk aflæst.

modprobe har to måder at indlæse moduler på. En måde (sonde mode) vil forsøge at indlæse et modul ud af en liste (defineret af mønster ). modprobe stopper ved ilægning, så snart et modul belastes med succes. Dette kan bruges til at autoload en Ethernet-driver ud af en liste. Den anden vejmodprobe kan bruges er at indlæsealle moduler fra en liste. SeEKSEMPLER, nedenfor.

Med mulighed-r, modprobe vil automatisk aflaste en stak moduler, ligner den måde "rmmod -r"gør. Bemærk at du kun bruger"modprobe -r"vil rydde ubrugte autoloaded moduler ud og udføre kommandoerne før og efter fjernelse i konfigurationsfilen /etc/modules.conf .

Kombinationen af ​​mulighederne-l og-t lister alle tilgængelige moduler af en bestemt type.

Mulighed-c vil udskrive den aktuelt anvendte konfiguration (standard + konfigurationsfil).

Konfiguration

Opførelsen afmodprobe (ogdepmod) kan ændres af (valgfri) konfigurationsfil /etc/modules.conf . For en mere detaljeret beskrivelse af, hvad denne fil kan indeholde, samt den standardkonfiguration, der bruges afdepmod ogmodprobe, semodules.conf(5).

Bemærk, at kommandoerne før og efter fjernelsen vilikke udføres hvis et modul er "autocleaned" af kerneld! Søg efter den kommende support til vedvarende modulopbevaring i stedet. Hvis du vil bruge funktionerne før og efter installation, skal du slukke for autoclean for kerneld og i stedet lægge noget som den følgende linje i dincrontab (dette bruges også til kmod-systemer) til at gøre autoklean hvert andet minut: * / 2 * * * * test -f / proc / moduler && / sbin / modprobe -r

Strategi

Ideen er detmodprobe vil se først ud i biblioteket indeholdende moduler kompileret til den nuværende udgivelse af kernen. Hvis modulet ikke findes der,modprobe vil se i den fælles mappe til kernelversionen (fx 2.0, 2.2). Hvis modulet stadig findes,modprobe vil se i biblioteket indeholdende moduler til en standard release, og så videre.

Når du installerer en ny linux, skal modulerne flyttes til en mappe relateret til udgivelsen (og versionen) af kernen du installerer. Så skal du lave en symlink fra denne mappe til "standard" biblioteket.

Hver gang du kompilerer en ny kerne, er kommandoen "lav modules_install"vil oprette en ny mappe, men ændrer ikke" standard "linket.

Når du får et modul, der ikke er relateret til kernedistributionen, skal du placere det i en af ​​de versionsuafhængige mapper under / lib / modules .

Dette er standardstrategien, som kan overstyres i /etc/modules.conf .

eksempler

modprobe -t net

Indlæs et af modulerne, der er gemt i mappen "net". Hvert modul testes, indtil man lykkes.

modprobe-a-boot

Alle moduler, der er gemt i mapper, der er mærket "boot", bliver indlæst.

modprobe slip

Dette vil forsøge at indlæse modulet slhc.o, hvis det ikke var tidligere indlæst, da slipmodulet har brug for funktionaliteten i slhc-modulet. Denne afhængighed vil blive beskrevet i filen modules.dep der blev oprettet automatisk afdepmod.

modprobe -r slip

Dette vil aflaste glidemodulet. Det vil også aflæse slhc-modulet automatisk, medmindre det også bruges af et andet modul (fx ppp).

Se også:

depmod (8),lsmod(8), kerneld(8), ksyms(8), rmmod(8).

Sikker tilstand

Hvis den effektive uid ikke er lig med den reelle uid damodprobe behandler sin indgang med ekstrem mistanke. Den sidste parameter behandles altid som et modulnavn, selvom det begynder med '-'. Der kan kun være et modulnavn og mulighederne for formularen "variabel = værdi" er forbudt. Modulnavnet behandles altid som en streng, ingen meta-ekspansion udføres i sikker tilstand. Meta-ekspansion anvendes dog stadig til data læst fra config filen.

euid kan ikke være lig med uid, når modprobe påberåbes fra kernen, dette gælder for kerner> = 2.4.0-test11. I en ideel verden,modprobe kunne tillade kernen at kun videregive gyldige parametre til modprobe. Der er dog sket mindst en lokal rodudnyttelse, fordi kernekode på højt niveau bestået uverificerede parametre direkte fra brugeren til modprobe. Så modprobe stoler ikke længere på kernel input.

modprobe Indstiller automatisk sikker tilstand, når miljøet kun består af disse strenge

HOME = / TERM = linux PATH = / sbin: / usr / sbin: / bin: / usr / bin

Dette registrerer modprobe-udførelse fra kernen på kernerne 2.2, selvom 2.4.0-test11, selvom uid == euid, som den gør på de tidligere kerner.

Logging Commands

Hvis mappe / var / log / ksymoops eksisterer ogmodprobe køres med en mulighed, der kunne indlæse eller slette et modul, så modprobe logger sin kommando og returnerer status i / var / log / ksymoops / `dato +% Y% m% d.log` . Der er ingen skifte til at deaktivere denne automatiske logning, hvis du ikke vil have det, skal du ikke oprette / var / log / ksymoops . Hvis denne mappe eksisterer, skal den ejes af root og være mode 644 eller 600, og du skal køre scriptinsmod_ksymoops_clean hver dag eller deromkring.

Nødvendige hjælpeprogrammer

depmod(8), insmod(8).

Vigtig: Brug mand kommando ( % mand ) for at se, hvordan en kommando bruges på din computer.