Демод - команда за Linux - команда на Unix

Име

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

Синопсис

depmod [-aA] [-ehnqrsuvV] [-C configfile ] [-F kernelsyms ] [-b base directory ] [ forced_version ]
depmod [-enqrsuv] [-F kernelsyms ] module1.o module2.o ...

Опис

Употребите на depmod и modprobe се наменети да направат модуларен кернел на Линус податлив за сите корисници, администратори и дистрибутери.

Depmod создава датотека за зависност како "Makefile" врз основа на симболите што ги наоѓа во множеството на модули споменати во командната линија или од директориумите наведени во конфигурациската датотека. Оваа зависност датотека подоцна се користи од страна на modprobe за автоматско вчитување на точниот модул или стек на модули.

Нормалната употреба на depmod е да ја вклучи линијата


/ sbin / depmod -a

некаде во rc-датотеките во /etc/rc.d , така што точните модулски зависности ќе бидат достапни веднаш по подигнувањето на системот. Имајте на ум дека опцијата -a сега е опција. За цели на подигање, опцијата -q може да биде посоодветна, бидејќи тоа го прави депод молчи за нерешените симболи.

Исто така е можно да се создаде датотеката за зависност веднаш по составувањето на ново кернел. Ако го направите " 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 .

-A , --quick

Споредете ги временските ознаки на датотеката и доколку е потребно, дејствувате како depmod -a . Оваа опција ја ажурира датотеката на зависност само доколку нешто се променило.

, --ерсими

Прикажи ги сите нерешени симболи за секој модул.

, - помош

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

, - шоу

Напишете ја датотеката за зависност на stdout наместо во дрвото / lib / модули .

-q , --quiet

Кажи му на демод да молчи и да не се жали на исчезнатите симболи.

-r , - root

Некои корисници компилираат модули под некорински userid потоа инсталираат модули како root. Овој процес може да ги остави модулите во сопственост на не-root userid, иако директориумот на модули е во сопственост на root. Ако не е root root userid, компромитарот може да ги пребрише постоечките модули во сопственост на тој userid и да ја користи оваа изложеност на bootstrap до root пристапот.

Стандардно, modutils ќе одбие обиди да се користи модул кој не е во сопственост на root. Одредувањето -r ќе ја потисне грешката и ќе дозволи root да ги вчита модулите кои не се во сопственост на root.

Употребата на -r е голема изложеност на безбедноста и не се препорачува.

-s , --syslog

Напишете ги сите пораки за грешки преку syslog-серверот наместо stderr.

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

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

-v , - глаголи

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

-V , --верзија

Прикажи ја верзијата на depmod .

Следниве опции се корисни за луѓето што управуваат со дистрибуции:

-b база на директориуми , базирани директориуми базирани

Ако директориумот tree / lib / modules кои содржат под-дрва на модулите се поместуваат некаде на друго место, со цел да се справи со модулите за друго опкружување, опцијата -b кажува depmod каде да ја пронајде преместената слика на дрвото / lib / модули . Референците на датотеката во излезната датотека на излезната датотека, која е изградена, modules.dep , нема да ја содржи патеката за базирани директориуми . Ова значи дека кога дрвото на датотеки се преместува од основни директориуми / lib / модули во / lib / модулите во последната дистрибуција, сите референци ќе бидат точни.

-C configfile , --config configfile

Користете ја датотеката configfile наместо /etc/modules.conf . Променливата на околина MODULECONF исто така може да се користи за да изберете друга конфигурациска датотека од стандардниот /etc/modules.conf (или /etc/conf.modules (застарено)).

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

UNAME_MACHINE е поставен, modutils ќе ја користи својата вредност наместо полето на машината од uname () syscall. Ова е главно користено кога компилирате 64 битни модули во 32-битен кориснички простор или обратно, поставете го UNAME_MACHINE до типот на модулите што се градат. Тековните modutils не го поддржуваат целосниот начин на изградување на модули, тој е ограничен на изборот помеѓу 32 и 64-битни верзии на архитектурата на домаќинот.

-F kernelsyms , --filesyms kernelsyms

Кога ги градиме датотеките за зависност за различен кернел од тековно активниот кернел, важно е дека depmod користи правилен сет на симболи на кернелот за да ги разреши референците на кернелот во секој модул. Овие симболи можат да бидат копија од System.map од другиот кернел, или копија од излезот од / proc / ksyms . Ако вашиот кернел користи верзионирани симболи, најдобро е да користите копија од излезот / proc / ksyms , бидејќи таа датотека ги содржи верзиите на симболот на симболите на кернелот. Сепак, можете да го користите System.map дури и со верзионирани симболи.

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

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

Стратегија

Секој пат кога ќе компајлирате нов кернел, командата " make modules_install " ќе создаде нов директориум, но нема да ја смени стандардната.

Кога ќе добие модул кој не е поврзан со дистрибуцијата на јадрото, треба да го ставите во еден од директориумите независни од верзијата под / lib / модулите .

Ова е стандардната стратегија, која може да се преовлада во /etc/modules.conf .

Исто така види

lsmod (8), ksyms (8)

Важно: Користете ја командата за човекот ( % man ) за да видите како се користи командата на вашиот компјутер.