Deploy - Linux команда - Unix команда

име

depmod - обработват описанията на зависимостите за модулите на ядрото, които могат да се зареждат

резюме

depmod [-aA] [-ehnqrsuvV] [-C конфигфила ] [-F kernelsyms ] [-b базирана директория ] [ forced_version ]
depmod [-enqrsuv] [-F kernelsyms ] модул1.о модул2.о ...

описание

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

Depmod създава файл за зависимости, подобен на Makefile, въз основа на символите, които намира в набор от модули, споменати на командния ред или от директории, посочени в конфигурационния файл. Този файл за зависимости се използва по-късно от modprobe, за да зареди автоматично правилния модул или стека от модули.

Нормалното използване на depmod е да се включи линията


/ sbin / depmod -a

някъде в rc файловете в /etc/rc.d , така че правилните зависимости на модула ще бъдат налични веднага след зареждането на системата. Имайте предвид, че опцията -a вече е по избор. За целите на зареждането, опцията -q може да е по-подходяща, тъй като това прави depmod безшумен за неразрешени символи.

Също така е възможно да създадете файла за зависимости веднага след компилирането на ново ядро. Ако направите " depmod -a 2.2.99 ", когато компилирате ядрото 2.2.99 и неговите модули за първи път, докато все още се изпълнява например 2.2.98, файлът ще бъде създаден на правилното място. В този случай, обаче, зависимостта от ядрото няма да бъде гарантирана. Вижте опциите -F , -C и -b по-горе за повече информация относно това.

Докато изграждаме връзката между модулите и символите, експортирани от други модули, depmod не отчита статута на GPL на модулите, нито на експортираните символи. Това означава, че depmod няма да сигнализира за грешка, ако модул без GPL съвместим лиценз се отнася само до символ GPL (EXPORT_SYMBOL_GPL в ядрото). Въпреки това insmod ще откаже да разреши само символи на GPL за не-GPL модули, така че действителното натоварване ще се провали.

Настроики

, - всички

Търсете модули във всички директории, посочени в (незадължителния) конфигурационен файл /etc/modules.conf .

, - превъзходно

Сравнете файловите тайм-марки и, ако е необходимо, действайте като depmod -a . Тази опция актуализира само файла за зависимостта, ако нещо се е променило.

-e , --errsyms

Показване на всички неразрешени символи за всеки модул.

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

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

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

Напишете файла за зависимостта на stdout вместо в дървото / lib / modules .

-q , --quiet

Кажете на depmod да мълчи и да не се оплаквате от липсващи символи.

-r , - корен

Някои потребители съставят модули под не-root userid, след което инсталират модулите като root. Този процес може да напусне модулите, собственост на потребителя с не-root, въпреки че модулната директория е собственост на root. Ако потребителският потребител, различен от root, е компрометиран, натрапникът може да презапише съществуващите модули, притежавани от този потребителски потребител, и да използва тази експозиция, за да стартира достъпа до root.

По подразбиране modutils ще отхвърли опитите за използване на модул, който не е собственост на root. Задаването на -r ще потисне грешката и ще позволи на root да зареди модули, които не са собственост на root.

Използването на -r е основна експозиция за сигурност и не се препоръчва.

-s , --syslog

Пишете всички съобщения за грешки чрез демона syslog вместо stderr.

-u , - неразрешена грешка

depmod 2.4 не определя кода за връщане, когато има някакви неразрешени символи. Следващото голямо издание на modutils (2.5) ще определи кода за връщане на неразрешени символи. Някои дистрибуции искат ненулев код за връщане в modutils 2.4, но тази промяна може да причини проблеми за потребителите, които очакват старото поведение. Ако искате ненулев код за връщане в depmod 2.4, посочете -u . depmod 2.5 безшумно ще пренебрегне флага -u и винаги ще дава ненулев код за връщане на неразрешени символи.

-v , - verbose

Покажете името на всеки модул, докато се обработва.

-V , --version

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

Следните опции са полезни за хората, управляващи дистрибуции:

-b базирана директория , - базирано базирано устройство

Ако директорията дървовид / lib / модули, съдържащи под-дървета на модулите, се премести някъде другаде, за да се справят с модулите за различна среда, опцията -b казва на depmod къде да намери преместеното изображение на дървото / lib / modules . Файловите препратки в създадения depmod изходен файл, modules.dep , няма да съдържат пътя на базирния . Това означава, че когато файловото дърво се премества обратно от базиректорията / lib / modules в / lib / modules в крайното разпределение, всички референции ще бъдат правилни.

-C конфигурационен файл , - конфигуриране на конфигурацията

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

Когато променливата на средата

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

-F kernelsyms , --fileyms kernelsyms

Когато изграждате файлове за зависимости за различно ядро ​​от това, което се изпълнява в момента, е важно depmod да използва правилния набор от символи на ядрото, за да разреши споменаването на ядрото във всеки модул. Тези символи могат да бъдат копие на System.map от другото ядро ​​или копие на изхода от / proc / ksyms . Ако ядрото ви използва версии, най-добре е да използвате копие на изход / proc / ksyms , тъй като този файл съдържа символните версии на символите на ядрото. Въпреки това можете да използвате System.map дори и с версирани символи.

Конфигурация

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

стратегия

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

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

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

Вижте също

lsmod (8), ksyms (8)

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