Kõik Linuxi/Unixi käsu kohta: modprobe

The Linuxi kernel on kasvanud suureks tarkvaraks. Mõnes mõttes on see hea. Teistes muudab see selle mõnevõrra paindumatuks. Lahenduseks on tuuma osade jagamine mooduliteks. Neid mooduleid saab laadida või mitte, olenevalt arvuti konfiguratsioonist ja teie vajadustest. Käsk modprobe laadib Linuxi süsteemi uued tuumamoodulid, võimaldades teil lubada uusi funktsioone ja tuge ilma taaskäivituseta.

Portree noorest arhitektist, kes kasutab kontoris sülearvutit
Westend61 / Getty Images

Modprobe'i kasutamine

Modprobe on tavaliselt lihtne kasutada. Kui teate kerneli moodulit, mida soovite laadida, edastage see käsule modprobe.

sudo modprobe rtl8723de

See on kõik. Moodul laaditakse kuni süsteemi taaskäivitamiseni.

Kui soovite eemaldada mooduli ilma taaskäivitamiseta, käivitage käsk uuesti nupuga -r lipp.

sudo modprobe -r rtl8723de

Enamasti töötate modprobe'iga nii. Lisateabe saamiseks vaadake allolevat tehnilist dokumentatsiooni.

Modprobe tehniline dokumentatsioon

Käsk modprobe teostab laaditavate moodulite kõrgetasemelist käitlemist.

Sisukokkuvõte

modprobe

 [-adnqv] [-C konfig] moodul [symbol=value ...] modprobe [-adnqv] [-C konfig] [-t tüüp] muster modprobe -l [-C konfig] [-t tüüp] muster modprobe -c [-C konfigmodprobe -r [-dnv] [-C konfig] [moodul ...] modprobe -Vh.

Valikud

-a, --kõik

Laadige kõik sobivad moodulid, selle asemel, et pärast esimest edukat laadimist peatuda.

-c, --showconfig

Näita praegu kasutatavat konfiguratsiooni.

-C, --configkonfig

Kasutage faili konfig asemel (valikuline) /etc/modules.conf konfiguratsiooni täpsustamiseks. Keskkonna muutuja MODULECONF saab kasutada ka vaikeseadest erineva konfiguratsioonifaili valimiseks (ja alistamiseks). /etc/modules.conf (või /etc/conf.modules mis on aegunud).

Kui keskkond on muutuv UNAME_MACHINE on määratud, kasutab modutils selle väärtust uname() syscalli masinavälja asemel. Seda kasutatakse peamiselt 64-bitiste moodulite kompileerimisel 32-bitises kasutajaruumis või vastupidi, seadke UNAME_MACHINE moodulite tüübi järgi. Praegused modutils ei toeta moodulite täielikku ristehitusrežiimi, see piirdub valikuga 32-bitine ja 64-bitine hostarhitektuuri versioonid.

-d, -- silumine

Näita teavet moodulite virna sisemise esituse kohta.

-h, -- aidake

Kuvage valikute kokkuvõte ja väljuge kohe.

-k, --automaatne puhastus

Seadistage laaditud moodulitele automaatpuhastus. Kernel kasutab seda, kui ta kutsub puuduva funktsiooni rahuldamiseks modprobe'i (tarnitakse moodulina). The -q valikuvõimalust eeldab -k. Need valikud saadetakse automaatselt insmodile.

-n, -- näita

Ärge sooritage tegevust, vaid näidake, mida tehakse.

-q, -- vaikne

Ärge kurtke selle üle, et insmod ei suuda moodulit installida. Jätkake nagu tavaliselt, kuid vaikselt, kasutades muid võimalusi modprobe'i testimiseks. See valik saadetakse automaatselt insmodile.

-r, --eemaldada

Eemaldage moodul (virnad) või tehke automaatpuhastus, olenevalt sellest, kas käsureal on mooduleid mainitud.

-s, --syslog

Teatage stderri asemel syslogi kaudu. See valik saadetakse automaatselt insmodile.

-tmoodulitüüp; --tüüpmoodulitüüp

Kaaluge ainult seda tüüpi mooduleid. modprobe vaatab ainult neid mooduleid, mille kataloogitee täpselt sisaldab /moduletype/. moodulitüüp võib sisaldada rohkem kui ühte kataloogi nime, näiteks -tdraiverid/võrk loetleb moodulid xxx/drivers/net/ ja selle alamkataloogid.

-v, --sõnaline

Printige kõik käsud nende täitmisel.

-V, --versioon

Kuvage modprobe'i versioon.

Moodulite nimed ei tohi sisaldada teid (nr /), samuti ei tohi nimi sisaldada lõppu .o. Näiteks, libisemine on kehtiv mooduli nimi modprobe, /lib/modules/2.2.19/net/slip ja slip.o on kehtetud. See kehtib käsurea ja konfiguratsiooni kirjete kohta.

Käsu kirjeldus

Utiliidid modprobe ja depmod on mõeldud Linuxi modulaarse kerneli kasutajate, administraatorite ja levitamise hooldajate jaoks paremini hallatavaks muutmiseks.

Modprobe kasutab depmodi loodud Makefile-sarnast sõltuvusfaili, et laadida automaatselt vastavad moodulid eelnevalt määratletud kataloogipuudes saadaolevatest moodulitest.

Modprobe'i kasutatakse ühe mooduli, sõltuvate moodulite virna või kõigi moodulite laadimiseks, mis on tähistatud määratud sildiga.

Modprobe laadib automaatselt kõik moodulivirnas vajalikud baasmoodulid, nagu on kirjeldatud sõltuvusfailis moodulid.dep. Kui ühe neist moodulitest laadimine ebaõnnestub, laaditakse automaatselt maha kogu praeguse seansi käigus laaditud moodulite virn.

Modprobe'il on moodulite laadimiseks kaks võimalust. Üks võimalus (sondi režiim) proovib laadida moodulit loendist välja (määratletud muster). Modprobe lõpetab laadimise kohe, kui üks moodul on edukalt laaditud. Seda saab kasutada loendist ühe Etherneti draiveri automaatseks laadimiseks. Teine võimalus modprobe'i kasutamiseks on laadida kõik moodulid loendist.

Võimalusega -r, laadib modprobe sarnaselt viisile automaatselt maha moodulite virna rmmod -r teeb. Kasutades ainult modprobe -r puhastab kasutamata automaatselt laaditud moodulid ja täidab ka konfiguratsioonifailis eemaldamise eel- ja järelkäsud /etc/modules.conf.

Valikute kombineerimine -l ja -t loetleb kõik saadaolevad teatud tüüpi moodulid.

Võimalus -c prindib hetkel kasutatava konfiguratsiooni (vaikimisi + konfiguratsioonifail).

Seadistamine

Modprobe'i (ja depmodi) käitumist saab muuta (valikuline) konfiguratsioonifail /etc/modules.conf. Üksikasjaliku kirjelduse selle kohta, mida see fail võib sisaldada, samuti depmodi ja modprobe'i kasutatavate vaikekonfiguratsioonide kohta vt modules.conf(5).

Eemaldamiseelseid ja -järgseid käske ei käivitata, kui kerneld puhastab mooduli automaatselt. Selle asemel otsige mooduli püsiva salvestusruumi tulevast tuge. Kui soovite kasutada installieelseid ja -järgseid funktsioone, lülitage kerneldi jaoks autoclean välja ja selle asemel asetage midagi sellist nagu järgmine rida crontabis (seda kasutatakse ka kmod süsteemide puhul), et teha automaatpuhastust iga 2 minutit:

*/2 * * * * test -f /proc/modules && /sbin/modprobe -r

strateegia

Idee seisneb selles, et modprobe vaatab kõigepealt kataloogist, mis sisaldab kerneli praeguse versiooni jaoks koostatud mooduleid. Kui moodulit sealt ei leita, otsib modprobe kerneli versioonile (näiteks 2.0, 2.2) ühisest kataloogist. Kui moodulit ikka ei leita, otsib modprobe mooduleid sisaldavast kataloogist vaikimisi väljalaset jne.

Uue Linuxi installimisel tuleks moodulid teisaldada installitava kerneli väljalaskega (ja versiooniga) seotud kataloogi. Seejärel looge sümlink sellest kataloogist vaikekataloogi.

Iga kord, kui kompileerite uue kerneli, käsk tee modules_install loob uue kataloogi, kuid ei muuda vaikelinki.

Kui saate kerneli distributsiooniga mitteseotud mooduli, asetage see mõnda allolevasse versioonist sõltumatusse kataloogi /lib/modules.

See on vaikestrateegia, mille saab tühistada /etc/modules.conf.

Näited

modprobe -t võrk

Laadige üks moodulitest, mis on salvestatud sildistatud kataloogi net. Iga moodulit proovitakse seni, kuni üks õnnestub.

modprobe -a -t alglaadimine

Kõik moodulid, mis on salvestatud märgistatud kataloogidesse saabas on laetud.

modprobe libisemine

See proovib moodulit laadida slhc.o kui seda pole varem laaditud, kuna libisemismoodul vajab slhc-mooduli funktsioone. Seda sõltuvust kirjeldatakse failis moodulid.dep mille depmod lõi automaatselt.

modprobe -r libisemine

See laadib libisemismooduli maha. Samuti laadib see automaatselt maha slhc mooduli, kui seda ei kasuta ka mõni teine ​​moodul (näiteks ppp).

Vaata ka: depmod(8), lsmod (8), kerneld (8), ksyms (8), rmmod(8).

Turvarežiim

Kui efektiivne uid ei ole võrdne tegeliku uid-iga, suhtub modprobe oma sisendisse äärmise kahtlusega. Viimast parameetrit käsitletakse alati mooduli nimena, isegi kui see algab -. Vormi mooduli nimi ja valikud saab olla ainult üks muutuja=väärtus on keelatud. Mooduli nime käsitletakse alati stringina, turvarežiimis metalaiendust ei tehta. Konfiguratsioonifailist loetud andmetele rakendatakse aga metalaiendust.

euid ei pruugi olla võrdne uid-ga, kui kernelist käivitatakse modprobe, see kehtib tuumade 2.4.0-test11 ja uuemate versioonide kohta. Ideaalses maailmas võiks modprobe usaldada kerneli, et see edastaks modprobe'ile ainult kehtivad parameetrid. Siiski on toimunud vähemalt üks kohalik juurkasutus, kuna kõrgetasemeline kerneli kood edastas kontrollimata parameetrid otse kasutajalt modprobe'ile. Seega ei usalda modprobe enam kerneli sisendit.

modprobe määrab automaatselt turvarežiimi, kui keskkond koosneb ainult nendest stringidest.

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

See tuvastab modprobe'i käivitamise kernelist tuumadel 2.2 kuni 2.4.0-test11, isegi kui uid == euid, mida see teeb ka varasemates tuumades.

Logimise käsud

Kui kataloog /var/log/ksymoops on olemas ja modprobe käivitatakse võtmega, mis võib mooduli laadida või kustutada, modprobe logib oma käsu ja tagastab oleku /var/log/ksymoops/'date +%Y%m%d.log'. Selle automaatse logimise keelamiseks pole lülitit, kui te seda ei soovi, ärge looge /var/log/ksymoops. Kui see kataloog on olemas, peaks see kuuluma juurkasutajale ja olema režiimis 644 või 600 ning sa peaksid käivitama skripti insmod_ksymoops_clean iga päev või nii.

Nõutavad kommunaalteenused

depmod (8), insmod (8).

Kasuta mees käsk (% meest), et näha, kuidas teie arvutis käsku kasutatakse.