Команда Линук / Уник инсмод инсталира модул који се може учитати у покретачком језгру.инсмод покушава да повеже модул у покретачки кернел решавањем свих симбола из табеле симбола извојене у језгру.
Ако се име датотеке модула даје без директорија или екстензија,инсмод ће тражити модул у неким заједничким директоријима. Варијабла околинеМОДПАТХ може се користити за превазилажење ове подразумеване вредности. Ако је конфигурациона датотека модула као што је/етц/модулес.цонф постоји, она ће преклапати путање дефинисане уМОДПАТХ.
Варијабла околинеМОДУЛЕЦОНФ може се користити и за одабир друге конфигурационе датотеке од подразумеване вредности/етц/модулес.цонф (или/етц/цонф.модулес (застарела)). Ова варијабла околине ће превазићи све горе наведене дефиниције.
Када је променљива околинаУНАМЕ_МАЦХИНЕ је подешен, модутилс ће користити своју вриједност умјесто поља машине из унаме () сисцалл. Ово се углавном користи када састављате 64-битне модуле у 32-битном корисничком простору или обрнуто, подешеноУНАМЕ_МАЦХИНЕ на тип модула. Тренутни модули не подржавају пун режим за изградњу модула, ограничен је на избор између 32 и 64-битних верзија архитектуре домаћина.
Опције
-е персист_наме , - стручњак= персист_наме
Одређује гдје се било који упорни подаци за модул читају од приликом учитавања и уписују се када је ова инстанцација модула истоварена. Ова опција је тихо занемарена ако модул нема трајне податке. Перзистентне податке прочита самоинсмод ако је ова опција присутна, подразумеваноинсмод не обрађује истрајне податке.
Као стенографски облик,-е "" (празан низ) се тумачиинсмод као вриједностперсистдир као што је дефинисано умодулес.цонф, а затим слиједи име датотеке модула у односу на путања за претрагу модула у коју је пронађена, минус било који заостајући ".гз", ".о" или ".мод". Акомодулес.цонф специфицира "персистдир ="(тј.персистдир је празно поље), онда је ова стенографска форма тихо занемарена. (Видимодулес.цонф (5).)
-ф, --сила
Покушај учитавања модула чак и ако се верзија текућег језгра и верзија кернела за коју је модул састављена не поклапају. Ово само преклапа проверу верзија језгре, нема утицаја на проверу имена симбола. Ако се имена симбола у модулу не подударају са језгром, онда нема начина да се присилиинсмод да учитате модул.
-Х, --помоћ
Приказати резиме опција и одмах изаћи.
-к, --аутоцлеан
Подесите ауто-чисто заставицу на модулу. Ова застава ће користитикернелд(8) да уклоните модуле који нису коришћени у одређеном временском периоду - обично један минут.
-Л, --закључати
Користитестадо(2) за спречавање истовременог оптерећења истог модула.
-м, --Мапа
Изађите мапу оптерећења на стдоут, што олакшава дебаговање модула у случају панике кернела.
-н, --без оптерећења
Думми рун, уради све осим што учитај модул у кернел. Ако то затражи ан-м или-О, рун ће произвести мапу или блоб датотеку. Пошто модул није учитан, стварна адреса за оптерећење кернела је непозната, тако да се мапа и блоб датотека базирају на произвољној адреси оптерећења од 0к12340000.
-о модуле_наме , - име= модуле_наме
Експлицитно назовите модул, умјесто да добијете име из основног имена изворне датотеке датотеке.
-О блоб_наме , --блоб= блоб_наме
Сачувај бинарни објекат у блоб_наме . Резултат је бинарни блоб (без ЕЛФ заглавља) који показује тачно оно што се учитава у језгру након манипулације и премештања одсека. Опција-м препоручује се да добије мапу објекта.
-п, - пробе
Пробајте модул да бисте видели да ли је могуће успешно учитати. То укључује лоцирање датотеке објекта на путању модула, провјеру бројева верзије и рјешавање симбола. Не провјерава премјештања нити производи мапу или блоб датотеку.
-П префикс , --префик= префикс
Ова опција се може користити са верзионисаним модулима за СМП или бигмем кернел, јер такви модули имају додатни префикс у њиховим именима симбола. Ако је кернел изграђен са симбол верзијама ондаинсмод аутоматски ће извући префикс из дефиниције "гет_модуле_симбол" или "интер_модуле_гет", од којих једна мора да постоји у било ком језгру који подржава модуле. Ако кернел нема верзије симбола, али је модул изграђен са верзијама симбола, онда корисник мора снабдевати-П.
-к, --куиет
Не штампајте листу нерешених симбола. Немојте се жалити на неусклађеност верзије. Проблем ће се одразити само на статусу изласкаинсмод.
-р, --корен
Неки корисници компајлирају модуле под некоријенским корисничким ИД-ом, затим инсталирају модуле као роот. Овај процес може оставити модуле у власништву некоријенског корисника, иако је директоријум модула у власништву роот-а. Ако је корисник који није коријен компромитован, уљез може преписати постојеће модуле у власништву тог корисника и користити ову експозицију за боотстрап до роот приступа.
Подразумевано, модутилс ће одбацити покушаје кориштења модула који није у власништву роот-а. Спецификација -р ће пребацити провјеру и омогућити рооту учитавање модула који нису у власништву роот-а.
Белешка: Подразумевана вредност за проверу корена може се променити када се конфигуришу модутилс.Коришћење -р да онемогућите проверу корена или подесите подразумевано на "без коријенске провере" у вријеме конфигурације је велика сигурносна експозиција и не препоручује се.
-с, --сислог
Излази свесислог(3) уместо терминала.
-С, --каллсимс
Напојите учитан модулкаллсимс податке, чак и ако је језгро не подржава. Ова опција је за мале системе у којима се кернел учитава безкаллсимс подаци, али изабрани модули требајукаллсимс за дебаговање. Ова опција је подразумевана на Ред Хат Линуку.
-в, - вербосе
Будите глупи.
-В, - верзија
Приказати верзијуинсмод.
-ИКС, --екпорт; -Икс, --ноекпорт
Урадите и не извозите све спољне симболе модула, респективно. Подразумевано је да се симболи извозе. Ова опција је ефикасна само ако модул експлицитно не извозе сопствену таблицу са контролираним симболима и стога је застарјела.
-И, --ксимоопс; -и, --ноксимоопс
Урадите и не додајтексимоопс симболи ксими. Ови симболи користексимоопс да обезбедите бољу отклањање ако постоји Уопс у овом модулу. Подразумевано је заксимоопссимболе које треба дефинисати. Ова опција је независна од-ИКС/-Икс Опције.
ксимоопс симболи додају приближно 260 бајта по учитаном модулу. Осим ако сте стварно кратки у кернелу и покушавате да смањите ксимс на његову минималну величину, преузмите подразумевану и добити прецизније Оопс дебуггинг.ксимоопс симболи су потребни да би се сачували упоран подаци модула.
-Н, - само за нумеричке
Само проверите бројчани део верзије модула против верзије кернела, тј. Игнорирајте ЕКСТРАВЕРСИОН приликом одлучивања да ли модул припада једру. Ова застава се аутоматски подешава за кернел 2.5 и даље, опционална је за раније језгре.
Параметри модула
Неки модули прихватају параметре оптерећења за прилагођавање њиховог рада. Ови параметри су често И / О порт и ИРК бројеви који се разликују од машине до машине и не могу се одредити од хардвера.
У модулима изграђеним за језгре серије 2.0, било који интегер или симбол показивач знакова могу се третирати као параметар и модифицирати. Почевши од језгра 2.1 серије, симболи су експлицитно означени као параметри, тако да се могу мењати само одређене вредности. Поред тога, обезбеђују се информације о типу за проверу вредности дате у време учитавања.
У случају целих бројева, све вриједности могу бити у децималним, окталним или хексадецималним а ла Ц: 17, 021 или 0к11. Елементи матрице су специфициране секвенце одвојене заповијима. Елементи се могу прескочити испуштањем вредности.
У модулима серије 2.0, вриједности које не почињу бројем се сматрају жицама. Почевши од 2.1, информације о типу параметра указују на то да ли ће се вриједност интерпретирати као низ. Ако вредност почиње двоструким наводницима ('), стринг се тумачи као у Ц, есцапе секвенце и све. Имајте на уму да из шалтера, сами цитати можда морају бити заштићени од тумачења схелл-а.
ГПЛ лиценцирани модули и симболи
Почевши од кернела 2.4.10, модули би требали имати низ лиценци, дефинисани користећиМОДУЛЕ_ЛИЦЕНСЕ (). Неколико жица је препознато као ГПЛ компатибилно; било који други низ лиценце или ниједна лиценца уопште значи да се модул третира као власнички.
Ако кернел подржава/ проц / сис / кернел / таинтед Затим флагинсмод ће ИЛИ заглавити заставицу са '1' када учитавате модул без ГПЛ лиценце. Упозорење се издаје ако кернел подржава тонирање и модул се учитава без дозволе. Упозорење се увек издаје за модуле који имају аМОДУЛЕ_ЛИЦЕНСЕ () то није ГПЛ компатибилан, чак и код старијих зрна које не подржавају тинтирање. Ово смањује упозорења када се нови модутилс користе у старијим језгрима.
инсмод -ф (сила) режима ће бити ИЛИ затегнута застава с '2' на језгри који подржавају таинтинг. Увек издаје упозорење.
Неки програмери језгра захтевају да симболи извезени по њиховом коду могу користити само модули са ГПЛ компатибилном лиценцом. Ови симболи се извозе од странеЕКСПОРТ_СИМБОЛ_ГПЛ уместо нормалеЕКСПОРТ_СИМБОЛ. Симболи са само ГПЛ-а, који извозе кернел и други модули, видљиви су само на модулима са ГПЛ компатибилном лиценцом, ови симболи се појављују у/ проц / ксими са префиксом 'ГПЛОНЛИ_'. инсмод игноришеГПЛОНЛИ_ префикс на симболима приликом учитавања ГПЛ лиценцног модула тако да се модул односи само на нормално име симбола, без префикса. Само симболи ГПЛ-а нису доступни модулима без ГПЛ компатибилне лиценце, то укључује моделе без икакве лиценце.
Ксимоопс Ассистанце
Да помогнемо отклањање кернела Оопс, када користите модуле,инсмод подразумевано је додавање неких симбола ксимаима, погледајте-И опција. Ови симболи почињу__инсмод_ модуленаме_ . Тхе модуленаме потребно је да симболи буду јединствени. Правно је учитавање истог објекта више од једном под различитим именима модула. Тренутно су дефинисани симболи:
__инсмод_ модуленаме _ Ообјецтфиле _ Ммтиме _ Вверсион
објецтфиле је име датотеке од којег је предмет био учитан. Ово осигурава да ксимоопс могу подударати код са исправним објектом. мтиме је последњи модификован временски жиг у датотеци у хек, нула ако стат није успио. верзија је верзија кернела за коју је модул сакупљен, -1 ако ниједна верзија није доступна. Тхе_О симбол има исту почетну адресу као заглавље модула.
__инсмод_ модуленаме _ Ссецтионнаме _ Лленгтх
Овај симбол се појављује на почетку изабраних ЕЛФ секција, тренутно .тект, .родата, .дата, .бсс и .сбсс. Појављује се само ако се одјељак има нулта величина. сецтионнаме је назив секције ЕЛФ, дужина је дужина секције у децималном делу. Ови симболи помажу адресама мапе ксимоопс-а на одељцима када нема симбола.
__инсмод_ модуленаме _Пперсистент_ назив документа
Само креирана од странеинсмод ако модул има један или више параметара који су означени као упорни подаци и име датотеке за чување упорних података (погледајте-е, горе).
Други проблем са отклањањем кернела Оопс у модулима је тај да је садржај / проц / ксимс и / проц / модули се могу мењати између Оопс и када обрађујете датотеку дневника. Да бисте превазишли овај проблем, ако директоријум / вар / лог / ксимоопс постојиинсмод ирммод ће аутоматски копирати / проц / ксимс и / проц / модуле у / вар / лог / ксимоопс са префиксом датума \% И% м% д% Х% М% С. Администратор система може рећи ксимоопс које датотеке снимања могу користити приликом отклањања Оопс. Не постоји прекидач који онемогућава ову аутоматску копију. Ако не желите да се то деси, не креирајте / вар / лог / ксимоопс. Ако тај директориј постоји, требало би да буде у власништву роот-а и да буде режим 644 или 600 и требате покренути ову скрипту сваког дана или слично. Скрипт испод је инсталиран као инсмод_ксимоопс_цлеан.
#! / бин / сх # Обриши сакривене ксими и модуле којима се није приступило у 2 дана ако -д / вар / лог / ксимоопс онда сет -е # Уверите се да увек постоји бар једна верзија д = `датум +% И% м% д% Х% М% С` цп -а / проц / ксимс /вар/лог/ксимоопс/${{}.ксимс цп -а / проц / модулес /вар/лог/ксимоопс/${д}.модулес нађите / вар / лог / ксимоопс -типе ф -атиме +2 -екец рм {} ; фи НАМЕ инсмод - инсталирајте модул кернела који се може надувати СИНОПСИС инсмод -фхкЛмнпкрсСвВкКсиИН -е персист_наме -о модуле_наме -О блоб_наме -П префикс модул симбол= вредност … Основне информације за знање













