Depmod - Linux Command - Unix каманднага

імя

depmod - апрацоўваць апісанне залежнасцяў для загружаных модуляў ядра

канспект

depmod [-аа] [-ehnqrsuvV] [-C CONFIGFILE] [-F kernelsyms] [-b BaseDirectory] [forced_version]
depmod [-enqrsuv] [-F kernelsyms] module1.o module2.o ...

апісанне

У depmod і Modprobe ўтыліты прызначаныя , каб зрабіць модульнае ядро Linux кіраваным для ўсіх карыстальнікаў, адміністратараў і распаўсюднікі суправаджаюць.

Depmod стварае файл -як залежнасцяў «Makefile», заснаваны на знаках , якія ён знаходзіць у наборы модуляў , указаных у камандным радку ці з каталогаў , указаных у канфігурацыйным файле. Гэты файл залежнасцяў пазней выкарыстоўваецца для загрузкі модуля аўтаматычна загрузіць патрэбны модуль або стэк модуляў.

Нармальнае выкарыстанне 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 модуляў , так што фактычная нагрузка ня будзе выкананая.

опцыі

-a, --all

Пошук модуляў ва ўсіх каталогах , указаных у (неабавязкова) канфігурацыі файла /etc/modules.conf.

-А, --quick

Параўнайце часовыя пазнакі файлаў і, пры неабходнасці, дзейнічаць як depmod -a. Гэтая опцыя толькі абнаўляе файл залежнасцяў, калі нічога не змянілася.

-е, --errsyms

Паказаць усе нявырашаныя сімвалы для кожнага модуля.

-h, --help

Дысплей рэзюмэ варыянтаў і неадкладна выйсці.

-n, --show

Запіс файла залежнасцяў на стандартны вывад , а не ў / Lib / модуляў дрэва.

-q, --quiet

Скажыце depmod маўчаць і не скардзіцца адсутных знакаў.

-r, --root

Некаторыя карыстальнікам скампіляваць модулі пад некорнем ідэнтыфікатара карыстальніка затым ўсталяваць модулі, як корань. Гэты працэс можа пакінуць модулі, якія належаць некорневых ідэнтыфікатарам карыстальніка, нават калі каталог модуляў належаць кораню. Калі некорневая ідэнтыфікатар скампраметаваны, зламыснік можа перазапісваць існуючыя модулі, якія належаць гэтаму ідэнтыфікатару карыстальніка і выкарыстоўваць гэтую экспазіцыю для пачатковай загрузкі да каранёвага доступу.

Па змаўчанні, Modutils будзе адпрэчваць спробы выкарыстоўваць модуль, які не належыць кораню. Указанне -r будзе душыць памылкі і дазваляюць каранёвай для загрузкі модуляў, якія не належаць кораню.

Выкарыстанне -r з'яўляецца асноўнай экспазіцыі і бяспекі не рэкамендуецца.

-s, --syslog

Запішыце ўсе паведамленні пра памылкі з дапамогай сістэмнага часопіса дэмана замест STDERR.

-u, --unresolved памылак

depmod 2,4 не ўсталёўваецца код звароту , калі ёсць недазволеныя сімвалы. Наступны буйны рэліз Modutils (2,5) будзе ўсталяваны код звароту для недазволеных знакаў. Некаторыя дыстрыбутывы хочуць ненулявое код звароту ў Modutils 2.4, але гэта змяненне можа выклікаць праблемы для карыстальнікаў, якія чакаюць старое паводзіны. Калі вы хочаце ненулявое код звароту ў depmod 2.4, пакажыце -u. depmod 2,5 будзе моўчкі ігнараваць сцяг -u і заўсёды будзе даваць зваротны ненулявое код для недазволеных знакаў.

-v, - шматслоўны

Паказаць імя кожнага модуля, як ён апрацоўваецца.

-V, --version

Адлюстроўвае версію depmod.

Наступныя опцыі карысныя для людзей, кіравання размеркаваннем:

-b BaseDirectory, --basedir BaseDirectory

Калі дрэва каталогаў / Бібліятэка / модулі , якія змяшчаюць укладзеныя дрэвы модуляў перамяшчаецца дзе - то яшчэ для таго , каб апрацоўваць модулі для розных навакольнага асяроддзя, -b параметр паказвае depmod , дзе знайсці пераехаў вобраз / Lib / модуляў дрэва. Спасылкі файлаў у depmod выхаднога файла , які пабудаваны, modules.dep, не будуць утрымліваць BASEDIRECTORY шляху. Гэта азначае , што , калі файл дрэва перамяшчаецца зваротна з BASEDIRECTORY / Бібліятэка / модуляў в / Бібліятэка / модулі ў канчатковым размеркаванні, усе спасылкі будуць правільнымі.

-C CONFIGFILE, --config CONFIGFILE

Выкарыстоўвайце файл CONFIGFILE замест /etc/modules.conf. Пераменная MODULECONF асяроддзя можа таксама выкарыстоўвацца , каб выбраць іншы файл канфігурацыі з /etc/modules.conf па змаўчанні (або /etc/conf.modules (састарэлае)).

Калі пераменная асяроддзя

UNAME_MACHINE ўстаноўлена, Modutils будзе выкарыстоўваць яго значэнне замест поля машыны ад uname () сістэмнага выкліку. Гэта ў асноўным выкарыстоўваецца , калі вы компилируете 64 - бітныя модулі ў 32 бітным прасторы карыстальніка ці наадварот, усталяваць UNAME_MACHINE да тыпу модуляў будуюцца. У цяперашні час Modutils не падтрымлівае рэжым поўнага папярочнага зборкі модуляў, яно абмежавана выбар паміж 32 і 64-бітныя версіі прымаючага архітэктуры.

-F kernelsyms, --filesyms kernelsyms

Пры стварэнні файлаў залежнасці для іншага ядра , чым у цяперашні час працуе ядро, гэта вельмі важна , што depmod выкарыстоўвае правільны набор сімвалаў ядра для дазволу спасылак ядра ў кожным модулі. Гэтыя сімвалы могуць быць альбо копія System.map з іншага ядра, або копія вываду з / Proc / знакавых. Калі ваша ядро выкарыстоўвае версированы сімвалы, то лепш выкарыстаць копію вываду / Proc / знакавых, так як гэты файл ўтрымлівае версіі сімвалаў з сімвалаў ядра. Аднак вы можаце выкарыстоўваць System.map нават з версионированными знакамі.

канфігурацыя

Паводзіны depmod і загрузкі модуля можна рэгуляваць з дапамогай ( па жаданні) канфігурацыі файла /etc/modules.conf.
См Modprobe (8) і modules.conf (5) для поўнага апісання.

стратэгія

Кожны раз , калі вы збіраеце новае ядро, каманду «зрабіць modules_install» створыць новы каталог, але не зменіце значэння па змаўчанні.

Калі вы атрымліваеце модуль не звязаны з размеркаваннем ядра вы павінны змясціць яго ў адну з залежных ад версіі каталогаў пад / Lib / модуляў.

Гэта стратэгія па змаўчанні, якая можа быць адменена ў /etc/modules.conf.

Глядзіце таксама

lsmod (8), знакавыя (8)

Важна: Выкарыстоўвайце чалавек каманды (%) чалавек , каб паглядзець , як каманда выкарыстоўваецца на вашым канкрэтным кампутары.