Modprobe - Линукс команда - Unix команда

ИМЕ

modprobe - високо ниво на работа на зареждащи се модули

Кратък обзор

modprobe [-adnqv] [-C конфиг ] модул [символ = стойност ...]
modprobe [-adnqv] [-C- конфигурация ] [-t тип ] модел
modprobe -l [-C- конфигурация ] [-t тип ] модел
modprobe -c [-C конфиг ]
modprobe -r [-dnv] [-C конфиг ] [модул ...]
modprobe -Vh

НАСТРОИКИ

, - всички

Заредете всички съответстващи модули, вместо да спирате след първото успешно зареждане.

-c , --showconfig

Показване на конфигурацията, която се използва в момента.

-C , --config конфиг

Използвайте конфигурацията на файла вместо (опцията) /etc/modules.conf, за да определите конфигурацията. Променливата на средата MODULECONF може да се използва и за избиране (и замяна) на друг конфигурационен файл от стандартната /etc/modules.conf (или /etc/conf.modules (deprecated)).

Когато е зададена променливата UNAME_MACHINE , modutils ще използва стойността си вместо полето на машината от системното устройство uname (). Това се използва предимно при компилиране на 64-битови модули в 32-битово потребителско пространство или обратно, задайте UNAME_MACHINE на типа модули. Текущите modutils не поддържат пълен кръстосан модул за модули, той се ограничава до избирането между 32 и 64 битови версии на архитектурата на хоста.

-d , --debug

Покажете информация за вътрешното представяне на стека от модули.

-h , --помагам

Покажете резюме на опциите и веднага излезте.

-k , --autoclean

Задайте "autoclean" на заредените модули. Използва се от ядрото, когато се обажда на modprobe, за да задоволи липсващата функция (доставена като модул). Опцията -q се подразбира от -k . Тези опции автоматично ще бъдат изпратени на insmod .

-l , --страница

Списък на модулите за съвпадение.

-n , - показване

Всъщност не изпълнявайте действието, просто покажете какво ще се направи.

-q , --quiet

Не се оплаквайте, че не сте инсталирали модул. Продължете нормално, но безшумно, с други възможности за тестване на modprobe. Тази опция ще бъде автоматично изпратена на insmod .

-r , - премахване

Премахнете модула (стека) или направете autoclean, в зависимост от това дали има модули, споменати на командния ред.

-s , --syslog

Докладвайте чрез syslog вместо stderr. Тези опции автоматично ще бъдат изпратени на insmod .

-t модул тип ; тип модул тип

Обмислете само модули от този тип. modprobe ще разгледа само модулите, чиято директория включва точно " / moduletype / ". модулният тип може да включва повече от едно име на директория, например " -t драйвери / мрежа " ще изброи модули в xxx / drivers / net / и неговите поддиректории.

-v , --verbose

Печат на всички команди, тъй като те се изпълняват.

-V, --version

Показване на версията на modprobe .

Забележка:

Имената на модулите не трябва да съдържат пътеки ("/"), нито могат да съдържат ".o". Например, приплъзването е валидно име на модула за modprobe , /lib/modules/2.2.19/net/slip и slip.o са невалидни. Това важи за командния ред и за вписванията в конфигурацията.

ОПИСАНИЕ

Помощните програми modprobe и depmod са предназначени да направят модулното ядро ​​на Linux по-лесно управляемо за всички потребители, администратори и поддържащи разпространението.

Modprobe използва файл за зависимости, подобен на Makefile, създаден от depmod , за автоматично зареждане на съответния модул (и) от набор от модули, налични в предварително дефинираните дървовидове на директориите.

Modprobe се използва за зареждане на единичен модул, куп зависими модули или всички модули, които са маркирани с определен етикет.

Modprobe автоматично ще зареди всички базови модули, необходими в модула, както е описано в файла за зависимости modules.dep . Ако зареждането на един от тези модули не успее, целият текущ пакет от модули, заредени в текущата сесия, ще бъде автоматично разтоварен.

Modprobe има два начина за зареждане на модули. Един начин (режимът на сондата) ще се опита да зареди модул от списък (дефиниран по образец ). Modprobe спира зареждането веднага след като един модул се зареди успешно. Това може да се използва за автоматично отстраняване на един Ethernet драйвер от списък.
Другият начин modprobe може да се използва е да се зареди всички модули от списъка. Вижте ПРИМЕРИ , по-долу.

С опцията -r , modprobe автоматично ще разтовари стека от модули, подобно на начина, по който " rmmod -r " прави. Обърнете внимание, че само " modprobe -r " ще почисти неизползваните автоматични модули и ще изпълни командите преди и след премахване в конфигурационния файл /etc/modules.conf .

Съчетаването на опциите -l и -t показва всички налични модули от определен тип.

Опция -c ще отпечата използваната конфигурация (по подразбиране + конфигурационен файл).

КОНФИГУРАЦИЯ

Поведението на modprobedepmod ) може да бъде променено от (незадължителния) конфигурационен файл /etc/modules.conf .
За по-подробно описание на това какво може да съдържа този файл, както и конфигурацията по подразбиране, използвана от depmod и modprobe , вижте modules.conf (5).

Имайте предвид, че командите преди и след премахване няма да бъдат изпълнени, ако модулът е "autocleaned" от kerneld! Погледнете вместо това новата поддръжка за постоянно съхранение на модули.
Ако искате да използвате функциите преди и след инсталирането, ще трябва да изключите autoclean за kerneld и вместо това да поставите нещо като следния ред във вашия crontab (това се използва и за системите kmod), за да правите autoclean на всеки 2 минути :

* / 2 * * * * тест -f / proc / модули && / sbin / modprobe -r

СТРАТЕГИЯ

Идеята е, че modprobe ще изглежда първо в директорията, съдържаща модули, компилирани за текущото съобщение на ядрото. Ако модулът не е намерен там, modprobe ще изглежда в директорията, която е обща за версията на ядрото (напр. 2.0, 2.2). Ако модулът все още е намерен, modprobe ще изглежда в директорията, съдържаща модули за стандартно съобщение и т.н.

Когато инсталирате нов Linux, модулите трябва да бъдат преместени в директория, свързана с освобождаването (и версията) на ядрото, което инсталирате. След това трябва да направите символна връзка от тази директория в директорията "по подразбиране".

Всеки път, когато компилирате ново ядро, командата " make modules_install " ще създаде нова директория, но няма да промени връзката "по подразбиране".

Когато получите модул, който не е свързан с разпространението на ядрото, трябва да го поставите в една от независимите от версията директории под / lib / modules .

Това е стратегията по подразбиране, която може да бъде преименувана в /etc/modules.conf .

ПРИМЕРИ

modprobe -t мрежа

Заредете един от модулите, които се съхраняват в директорията с надпис "net". Всеки модул се изпитва, докато не успее.

modprobe -a-t обувка

Всички модули, които се съхраняват в директории, обозначени с "boot", ще бъдат заредени.

modprobe slip

Това ще се опита да зареди модула slhc.o, ако преди това не е бил зареден, тъй като модулът за приплъзване има нужда от функционалността в модула slhc. Тази зависимост ще бъде описана във файла modules.dep, който е създаден автоматично от depmod .

modprobe-r приплъзване

Това ще освободи модула за приплъзване. Също така ще разтоварва автоматично модула, освен ако не се използва и от друг модул (напр. Ppp).

ВИЖТЕ СЪЩО

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

БЕЗОПАСЕН РЕЖИМ

Ако ефективната uid не е равна на истинския uid тогава modprobe третира своя принос с крайно подозрение. Последният параметър винаги се третира като име на модул, дори ако той започва с "-". Може да има само едно име на модула и опциите на формата "variable = value" са забранени. Името на модула винаги се третира като низ, не се извършва мета разширение в безопасен режим. Въпреки това мета разширението все още се прилага към данните, четени от конфигурационния файл.

euid може да не е равно на uid, когато се извиква modprobe от ядрото, това важи и за ядрото> = 2.4.0-test11. В един идеален свят, modprobe може да се довери на ядрото да предава само валидни параметри на modprobe. Обаче поне един локален корен експлойт е настъпил, защото кодът на ядрото на високо ниво е предавал непроверени параметри директно от потребителя към modprobe. Така че modprobe вече не вярва на входа на ядрото.

modprobe автоматично задава безопасен режим, когато средата се състои само от тези струни

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

Това открива изпълнението на modprobe от ядрото на ядрото 2.2, въпреки че 2.4.0-test11, дори ако uid == euid, което прави на по-ранните ядра.

ВЪВЕЖДАНЕ НА КОМЕНТАРИ

Ако директорията / var / log / ksymoops съществува и modprobe се изпълнява с опция, която може да зареди или изтрие модул, тогава modprobe ще регистрира командата и състоянието си на връщане в / var / log / ksymoops / `дата +% Y% m% d .log " . Няма превключвател за деактивиране на тази автоматична регистрация, ако не искате да се случи, не създавайте / var / log / ksymoops . Ако тази директория съществува, тя трябва да бъде собственост на корен и да бъде режим 644 или 600 и трябва да изпълнявате скрипт insmod_ksymoops_clean всеки ден или така.

НЕОБХОДИМИ ОБЩЕСТВА

depmod (8), insmod (8).

Важно: Използвайте командата човек ( % man ), за да видите как се използва команда на вашия компютър.