Linux / Unix Фармони: insmod

Истифодаи фармонҳои Linux / Unix насбшудаи модулҳои боркунӣ дар фишангҳои ҷустуҷӯӣ насб карда мешавад . пиндоштҳо кӯшиш мекунанд, ки модулро ба ҷустуҷӯи модул бо роҳи ҳалли ҳамаи рамзҳо аз мизҳои соддаи ядроии ядроӣ пайваст кунанд.

Агар номҳои модули модул бе драйверҳо ё феҳрист дода шаванд, insmod модулҳоро дар баъзе нусхаҳои пешфарзии ҷустуҷӯӣ ҷустуҷӯ мекунад. Махсусан MODPATH муҳити тағирёбанда метавонад барои нобудсозии ин хосият истифода шавад. Агар файлҳои конфигуратори модули монанди /etc/modules.conf вуҷуд дошта бошад, ин роҳҳо, ки дар MODPATH муайян шудаанд, бартараф карда мешаванд .

MODULECONF тағйирёбии муҳити атроф низ метавонад барои интихоби файли конфигуратсияи гуногун аз сафҳаи /etc/modules.conf/etc/conf.modules ( deprecated )) истифода шавад. Ин тағироти муҳити атроф ҳамаи таърифҳои дар боло зикршударо вайрон мекунад.

Вақте ки тағироти муҳити UNAME_MACHINE муқаррар карда мешавад, modutils ба ҷои майдони машқ аз uns () syscall истифода мебарад. Ин асосан дар вақти истифода кардани модули 64-функсияи фосилаи истифодабарандаи 32-битҳо ё баръакс, UNAME_MACHINE ба намуди модулҳо таъин карда мешавад. Модутҳои ҷорӣ ба модулҳои пурраи бунёдии модулҳо барои модулҳо дастгирӣ намекунанд, барои интихоби моделҳои 32 ва 64-и мониторинги мизбон маҳдуд аст.

Имкониятҳо

-e persist_name , --persist = persist_name

Муайян месозад, ки маълумотҳои доимии модул аз боркунӣ хабардор карда шаванд ва вақте ки ин вертикали модул насб карда мешавад. Агар ин модул маълумоти доимӣ дошта бошад, ин хосият ба таври ғайрифаъол беэътибор дониста мешавад. Маълумоти доимӣ танҳо аз тарафи инкоркунӣ хонда мешавад, агар ин вариант мавҷуд бошад.

Ҳамчун шакли шакл , - " (сатри холӣ) аз тарафи insmod ҳамчун арзиши доимӣ , ки дар модулҳо муайян карда шудааст, маънидод карда мешавад, пас номи файлро, ки ба роҳи ҷустуҷӯи модул дода шудааст, дар ".gz", ".o" ё ".mod". Агар modules.conf-ро " persistdir = " (яъне доимии майдончаи холӣ) нишон дода шавад, пас ин шаклҳои шабақа пинҳон карда намешаванд. (Нигаред модуло.conf (5).)

, - барои ман

Ҳама кӯшиш кунед, ки модулро ҳатто агар нусхаи фишурдашуда ва нусхаи критерҳо тартиб диҳед, ки модул тартиб дода нашудааст. Ин танҳо санҷиши версияи ядроиро танзим мекунад, он ба санҷиши номи рамз таъсир надорад. Агар нишонаҳои модул дар модул ба истилоҳ мувофиқат накунанд, пас роҳе нест, ки маҷмӯъи модулро пурқувват кунад.

-h , --help

Намоиши натиҷаҳои вариантҳоро нишон диҳед ва фавран берун кунед.

-к,

Параметрҳои автоматӣ дар модул насб кунед. Ин байрақ аз тарафи kerneld (8) барои тоза кардани модулҳое, ки дар муддати чанд вақт истифода намешуданд - одатан як дақиқа истифода бурда мешавад.

, - бозгаштан

Барои истифода бурдани рамзи (2) барои пешгирӣ кардани якхел яксози як модул истифода кунед.

, --map

Натиҷаи харитаҳои боркунӣ дар stdout мебошад, ки онро дар ҳолати яхбандии ядроӣ муҳофизат кардан мумкин аст.

, - толор

Амалиёт, ҳама чизро ғайр аз модул кардан ба моддаҳои ядро ​​кунед. Агар дархост аз ҷониби ё -O бошад , иҷроӣ файли харита ё флипро медиҳад. Азбаски модул бор карда нашудааст, суроғаи ҳақиқии боркаши воқеӣ номаълум аст, бинобар ин, харита ва фрейм ба суроғаи қуттии эҳтиётии ададии 0x12340000 асос ёфтааст.

-o module_name , --name = module_name

Пеш аз он, ки модулро номбар кунед, ба ҷои номгӯи аз номи файли объекти сарчашма тасниф кунед.

-Он blob_name , --blob = blob_name

Нигоҳ доштани объекти binary дар blob_name . Натиҷаи як блоки дуӣ (на сарлавҳаҳои ELF) нишон дода шудааст, ки чӣ гуна ба ферментбарорӣ ва крапӣ ҷудо карда шудааст. Хизмат -м барои гирифтани харитаи иншоот тавсия дода мешавад.

-p , --probe

Модули худро тафтиш кунед, ки оё он бомуваффақият ба бор оварда метавонад. Ин дар бар мегирад, ки файли объекти дар роҳи модул гузаронидашаванда, санҷидани рақамҳои версия ва ҳал кардани рамзҳо. Ин кӯчониданро тафтиш намекунад ва онро харитаи харита ё флип меорад.

- префикс , --prefix = пешакӣ

Ин хосият бо модулҳои вертикалӣ барои SMP ё фишангҳои калонтар истифода мешавад, зеро ин модулҳо дар номҳои рамзии худ иловаи иловагӣ илова карда шудаанд. Агар ячейка бо рамзҳои рамзӣ сохта шуда бошанд, онгоҳ ба таври автоматӣ пеш аз муайян кардани "get_module_symbol" ё "inter_module_get" ё "inter_module_get", ки яке аз он дар ҳама гуна корӣ, ки модулҳоро дастгирӣ мекунад, бардорад. Агар ядрои ягон рамзии рамзӣ дошта бошад, аммо модул бо рамзҳои рамзӣ сохта шуда буд, пас истифодабаранда бояд таъмин намояд.

-q , --quiet

Рӯйхати ягон рамзҳои номаълумро чоп накунед. Дар бораи нобаробарии нусхабардорӣ шикоят накунед. Масъала танҳо дар ҳолати таркиши изолятсия инъикос меёбад.

- р , - реша

Баъзе истифодабарандагон модулҳоро дар асоси корбари ғайриоддӣ тартиб медиҳанд, баъд модулҳоро решакан кунед. Ин раванд метавонад модулҳоеро, ки аз тарафи корбари ғайри реша барояд, тарк кунад, гарчанде ки феҳристи модул реша дорад. Агар корбари ғайридавлатӣ зарар намебурд, дохили ҳуҷайра метавонад модулҳои мавҷуда дошта бошад, ки он шахсро истифода барад ва ин таъсири манфиро то сарлавҳаи дастрасӣ истифода барад.

Бо нобаёнӣ, модулҳо кӯшиш мекунанд, ки истифодаи модулеро, ки реша надоранд, рад кунанд. Муайян кардан - r ба танзим даровардан ва реша ба модулҳои боркашӣ, ки реша надорад, ройгон медиҳад. Эзоҳ: ҳангоми нармафзорӣ танзим кардани арзиши аслӣ барои санҷиши реша метавонад тағйир дода шавад.

Истифодаи -r барои қатъ кардани решаи решавӣ ё танзимоти муқаррарӣ ба "санҷиши реша" дар вақти конфигуратӣ як протоколи асосии амниятӣ ва тавсия дода намешавад.

-s , - syslog

Ҳама чизро ба syslog (3) бар ивази терминал.

- С , - классҳо

Модулҳои боркашро маҷбур мекунанд, ки маълумоти космосро дошта бошанд , ҳатто агар кефер онро дастгирӣ накунад. Ин хосият барои системаҳои хурд, ки дар он критерҳо бе маълумотҳои космонтҳо бор карда шудаанд, вале модулҳои интихобгардида барои бартарафсозии хатогӣ заруранд . Ин вариант дар корти Red Hat Linux аст.

-Ва,

Нашр кунед.

, -вири

Намоиши нусхаи энсиклро нишон диҳед .

-X , - омор ; -x , --noexport

Ҳамаи нишонаҳои берунии модулро мутаносибан содир кунед ва ба онҳо экспорт накунед. Муҳофизат барои рамзҳо барои содир кардан аст. Ин вариант фақат ба таври самаранок аст, агар модул намехост мизҳои мушаххаси худро нишон дихад ва аз ин рӯ аз он хориҷ карда мешавад.

-Y , --ximpleoops ; -y , -noksymoops

Ба нишонаҳои ksymoops илова кунед ва ба ksyms илова кунед. Ин нишонаҳо аз тарафи ksymoops истифода бурда мешавад, агар онҳо дар ин моддаҳо истилоҳотро беҳтар созанд. Нишондиҳанда барои нишонаҳои ksymoops барои муайян карда мешавад. Ин хосият аз вариантҳои X- и мустақил аст.

Рамзҳои ksymoops тақрибан 260 байт ба як модули боркаш илова мекунанд. Агар шумо дар фосилаи кӯтоҳ қарор дошта бошед ва кӯшиш кунед, ки ба андозаи ҳадди ақали худ каме кӯшиш кунед, ба таври худкор ба даст биёред ва аз шумо хавотир ҳосил кунед. Рамзҳои ksymoops барои нигоҳ доштани маълумотҳои мунтазами модул талаб карда мешавад.

-Н, - ададӣ-танҳо

Танҳо қисмати рақамии варианти модул бар нусхаи силсилаи санҷишро санҷед, яъне вақте ки тасмим гирифта мешавад, ки модул ба ҳаҷм барояд. Ин байрақ ба таври автоматикӣ барои критерӣ 2,5-ро муқаррар мекунад, ки он барои ядрои қаблӣ зарур аст.

Параметрҳои модул

Баъзе модулҳо барои танзими амалиёти худ қабули параметрҳои вақти пурбораро қабул мекунанд. Ин параметрҳо аксаран I / O порт ва адади IRQ, ки аз мошин ба мошин фарқ мекунанд ва наметавонанд аз сахтафзор муайян карда шаванд.

Дар модулҳо барои ядроҳои силсилаи 2.0 сохта шудаанд, ҳама симметрияи рақамӣ ё рамзи симметрӣ ҳамчун параметр ва тағйир дода мешаванд. Кӯшишҳои дар силсилаи силсилаи силсилаи 2.1 оғозшуда, рамзҳо аломати параметрҳо мебошанд, то ки танҳо арзишҳои мушаххас тағйир дода шаванд. Ғайр аз ин, навъи иттилоот барои тафтиш кардани арзишҳо, ки дар вақти боркашӣ пешбинӣ шудааст, пешниҳод карда мешавад.

Дар сурати ҳосарот, ҳамаи арзишҳо метавонанд дар даҳӣ, оккл ё гимнастикӣ бо C: 17, 021 ё 0x11 бошанд. Элементҳои элементҳо пайдарпайии муайянкунандаро бо вергул ҷудо мекунанд. Элементҳо метавонанд ба воситаи арзёбии арзишҳо нобуд карда шаванд.

Дар модулҳои силсилаи 2.0, арзишҳое, ки бо рақамҳо оғоз намешаванд, ишора шудаанд. Дар оғоз 2.1, маълумоти навъи параметр нишон медиҳад, ки оё арзишро ҳамчун як сатҳ тафсир кунад. Агар арзиш бо диккати дукарата ( " ) бошад, сатр ҳамчун дар C, пайдарпайии гурезаҳо ва ҳама тарҷума карда мешавад. Фаромӯш накунед, ки аз хабари инфиродӣ, нохунакҳо худашон метавонанд аз тарҷумаи панел муҳофизат карда шаванд.

GPL Модулҳои иҷозатномадиҳӣ ва нишонаҳо

Аз муҷаввизи 2.4.4, модулҳо бояд як сатри иҷозатнома дошта бошанд, ки бо истифодаи MODULE_LICENSE () муайян карда мешаванд . Якчанд сатрҳо ҳамчун GPL мувофиқанд; ҳар як қатор литсензияи дигари иҷозатнома ё литсензияе вуҷуд надорад, ки ҳамаи модулҳо ҳамчун моликият муносибат мекунанд.

Агар критер як флаг / proc / sys / cernel / flag-ро пуштибонӣ кунад, пас он параметрро бо "1" ҳангоми бор кардани модули бе иҷозатномаи GPL. Агар огоҳӣ дода нашавад, огоҳӣ дода мешавад, ва бе иҷозати модул модул бор карда мешавад. Огоҳӣ ҳамеша барои модулҳое, ки MODULE_LICENSE () доранд , ки GPL мувофиқат намекунад, ҳатто дар ядрои калонтар, ки шаффоф нестанд, дода мешавад. Ин ба огоҳиҳо ниёз дорад, ки модулҳои нав дар ядрои калонтар истифода мешаванд.

Функсияи insmod -f (қувваи), ё парчами тиллоӣ бо '2' дар ядрои, ки дастгирӣ кардани шаъну шарафро медиҳад. Он ҳамеша огоҳӣ медиҳад.

Баъзе таҳриргарон бояд талаб кунанд, ки рамзҳое, ки бо коди онҳо содир карда мешаванд, танҳо бо модулҳо бо иҷозатномаи GPL мувофиқанд. Ин нишонаҳо аз ҷониби EXPORT_SYMBOL_GPL ба ҷои EXPORT_SYMBOL муқаррар карда мешаванд . Рақамҳои GPL-ро, ки аз тарафи крипт ва дигар модулҳо содир мешаванд, танҳо ба модулҳо бо иҷозатномаи GPL мувофиқат мекунанд, ин нишонаҳо дар / proc / ksyms бо афзалияти " GPLONLY_ " пайдо мешаванд. пинҳон кардани GPLONLY_ дар нишонаҳои рамзҳо ҳангоми бор кардани модули GPL иҷозат дода намешавад, то модул танҳо ба номии муқаррарӣ, бе пешнамоӣ ишора кунад. Танҳо GPL танҳо рамзҳо ба модулҳо бе иҷозатномаи мувофиқати GPL дастрас нестанд, ин модулҳо бе иҷозатнома нестанд.

Кӯмаки Ksymoops

Барои бартараф кардани яроқи ядроӣ Ҳангоми истифода бурдани модулҳо, пешфарзҳо барои илова кардани баъзе рамзҳо ба қуттиҳои интихобшуда нигаред. Ин нишонаҳо бо __insmod_modulename_ оғоз мекунанд . Модул ном дорад, ки рамзҳои беназири беназирро талаб кунанд. Ҳуқуқ ба як ҷузъи ҳамон якчанд номҳо дар модулҳои гуногуни модул бор карда шудааст. Дар айни замон рамзҳои муайяншуда инҳоянд:

__insmod_modulename_Oobjectfile_Mmtime_Vversion

Объектҳо файлеро, ки объекти боргузориаш бор карда шудааст, номида мешавад. Ин имкон медиҳад, ки ksymoops ба рамзи дурустии объект мувофиқат кунад. mtime охирин тағйироти охирин дар ин файл дар hex аст, сифр, агар натавонист натавонед. нусхаи версияи версия, ки модул барои тартиб дода шудааст, -1 агар ягон версияи дастрас нест. Сутуни _O дорои як суроғаи якхелаи монанди сарлавҳаи модул мебошад.

__insmod_modulename_Ssectionname_Llength

Ин рамзи дар оғози қисмҳои интихобшудаи ELF, ҳоло .text, .rodata, .data, .bss ва .sbss пайдо мешаванд. Он танҳо нишон медиҳад, ки қисмат дорои андозаи ғайримутамар аст. қисм ном дорад номи фасли ELF, дарозии дарозии қисмат дар даҳӣ мебошад. Ин нишонаҳо суроғаҳои почтаи map-ро ба қисмҳо, вақте ки ягон аломатҳои дастрасӣ ба шумо кӯмак мекунанд.

__insmod_modulename_Ppersistent_filename

Танҳо он вақте, ки модул дорои як ё якчанд параметрҳоест, ки ҳамчун маълумоти доимӣ ва файл номнавис карда мешаванд, нигоҳ доштани маълумотҳои доимӣ (ниг.

Дигар мушкилот бо зеркашӣ кардани ядроҳо Дар модулҳо ин мазмуни / proc / ksyms ва / proc / модулҳо метавонанд дар байни Опсҳо ва ҳангоми коркард кардани файл сабт карда шаванд. Барои кӯмак ба ин мушкилот, агар directory / var / log / ksymoops вуҷуд дошта бошад, он гоҳ падида ва rmmod автоматӣ / просмотсияҳо ва / проседураҳо / модулҳо ба / var / log / ksymoops бо пешнамоиши таърихи +% Y% m % d% H% M% S`. Мудири система метавонад ksymoops-ро, ки файлҳои snapshot -ро истифода баранд, ҳангоми хомӯшкунии Опера истифода барад. Барои интихоби нусхаи автоматӣ ягон гузарвожа вуҷуд надорад. Агар шумо намехоҳед, ки он рӯй диҳад, / var / log / ksymoops эҷод накунед . Агар ин directory вуҷуд дошта бошад, он бояд реша дорад ва бояд 644 ё 600 бошад, ва шумо бояд ҳар рӯзро ин скриптро иҷро кунед. Смайл дар поён ҳамчун insmod_ksymoops_clean насб карда шудааст.

Маълумоти асосӣ барои шинос шудан

НОМИ

Insmod - насб кардани модели ядроии эҳтиётӣ

SYNOPSIS

[-fhkLmnpqrsSvVxXyYN] [-e persist_name ] [-o module_name ] [-O blob_name ] [ -сохтори пароли ] [ симои = арзиши ...]