Depmod - Linux Command - Unix команадсы

Атауы

depmod - жүктелетін ядро ​​модульдеріне арналған тәуелділік сипаттамалары

Синопсис

depmod [-aA] [-ehnqrsuvV] [-C configfile ] [-F kernelsyms ] [-b негізделуі ] [ forced_version ]
depmod [-enqrsuv] [-F kernelsyms ] module1.o module2.o ...

Сипаттама

Depmod және modprobe утилиталары барлық пайдаланушыларға, әкімшілерге және таратушыларға арналған Linux модульдік ядросын басқаруға арналған.

Depmod пәрмен жолында немесе конфигурация файлында көрсетілген каталогтардан табылған модульдер жиынынан табылған таңбалар негізінде «Makefile» ұқсас тәуелділік файлын жасайды. Бұл тәуелділік файлын кейін модульдер дұрыс модульді немесе стека автоматты түрде жүктеу үшін modprobe арқылы пайдаланады.

Депмодтың қалыпты қолданылуы - сызықты қамту


/ sbin / depmod -a

/etc/rc.d ішіндегі rc-файлдарында, дұрыс модуль тәуелділіктері жүйені жүктегеннен кейін бірден қол жетімді болуы үшін. Назар аударыңыз, опция- a енді міндетті емес. Жүктелу мақсаттары үшін -q параметрі дұрысырақ болуы мүмкін, себебі шешілмеген таңбалар туралы үнсіздік жасайды.

Жаңа ядро ​​жасағаннан кейін дереу тәуелділік файлын жасауға болады. 2.2.99 ядросының 2.2.99 ядросын және оның модульдерін бірінші рет құрастырған кезде « depmod -a 2.2.99 » десеңіз, мысалы, 2.2.98 болса, файл дұрыс жерде жасалады. Алайда бұл жағдайда ядродағы тәуелділіктер дұрыс болмайды деп кепілдік берілмейді. Оны өңдеу туралы қосымша ақпарат алу үшін -F , -C және -b опцияларын қараңыз.

Модульдер мен басқа модульдермен экспортталатын таңбалар арасындағы қатынасты құрастырған кезде, depmod модульдердің GPL күйін немесе экспортталатын таңбаларды қарастырмайды. Яғни, GPL үйлесімді лицензиясыз модуль тек GPL белгісіне (ядродағы EXPORT_SYMBOL_GPL) қатысты болса, depmod қатені белгілемейді. Дегенмен insmod GPL модулін емес символдарды шешуге бас тартады, сондықтан нақты жүктеме сәтсіз болады.

Опциялар

-a , - барлық

/etc/modules.conf конфигурациялық файлында (міндетті емес) көрсетілген барлық каталогтардағы модульдерді іздеу.

- А , - деді

Файлдың уақыт белгілерін салыңыз және қажет болса, depmod -a сияқты әрекет етеді. Бұл параметр өзгерген жағдайда ғана тәуелділік файлын жаңартады.

-e , --errsyms

Әрбір модуль үшін шешілмеген таңбаларды көрсетіңіз.

-h , --help

Опциялар жиынтығын көрсету және дереу шығу.

-n , - көрсет

/ Lib / modules ағашында орнына stdout-та тәуелділік файлын жазыңыз.

-q , --quiet

Депмодқа тыныштық сақтауға және жоғалған рәміздер туралы шағымданбауға кеңес беріңіз.

-r , -

Кейбір пайдаланушылар модульдерді түбірлік пайдаланушы идентификаторы бойынша құрастырады, содан кейін модульдерді түбір ретінде орнатады. Бұл процесс түбірлік иеленуші модульдер каталогы болса да, түбірлік пайдаланушы идентификаторына тиесілі модульдерді қалдыра алады. Егер түбірлік емес пайдаланушы идентификаторы бұзылса, зиянкес пайдаланушы осы пайдаланушы иелігіне тиесілі бар модульдерді қайта жаза алады және бұл экспозицияны түбірлік қатынауға дейін жүктеуді қолдануы мүмкін.

Әдепкі бойынша, modutils түбірге тиесілі емес модульді қолдану әрекетін қабылдамайды. -r- қателерді жоюға және түбірге түбірге тиесілі емес модульдерді жүктеуге мүмкіндік береді.

-r-ді қолдану - негізгі қауіпсіздікке әсер етуі және ұсынылмайды.

-s , --syslog

Барлық қате хабарламаларды stdrr орнына syslog демоны арқылы жазыңыз.

-u , - шешілген қате

depmod 2.4 шешілмеген таңбалар болған кезде қайтару кодын орнатпайды. Келесі модульдер (2.5) негізгі шығарылымы шешілмеген таңбалар үшін қайтару кодын орнатады. Кейбір үлестірулер modutils 2.4 нөлдік емес қайтару кодын қажет етеді, бірақ бұл өзгеріс ескі әрекеттерді күткен пайдаланушылар үшін қиындықтар тудыруы мүмкін. Егер сіз depmod 2.4-де нөлден тыс қайтару кодын алғыңыз келсе, -u мәнін көрсетіңіз. depmod 2.5 үнсіздікті -u жалаушасын елемейді және шешілмеген таңбалар үшін әрдайым нөлдік емес қайтару кодын береді.

-v , - дерекқор

Әр модульдің атауы ол өңделуде көрсетілсін.

-V , - түрлендіру

Depmod нұсқасын көрсету.

Келесі опциялар дистрибутивтерді басқаратын адамдар үшін пайдалы:

-b негізделген анықтамалық , - базалық негіздеме

Егер модульдер басқа модульдермен жұмыс істеу үшін басқа модульдермен жұмыс істеу үшін модульдің ішкі ағаштарын анықтайтын directory tree / lib / modules басқа жерге жылжытылса, -b параметрі / lib / modules ағашының қозғалатын кескінін табу үшін depmod-ке хабарлайды. Құрылған modules.dep , depmod шығу файлындағы файл сілтемелері негізделген жолды қамтымайды. Бұл файл түпкі каталогтан / lib / modules / lib / модульдерінен түпкілікті таратылымға көшкен кезде барлық сілтемелер дұрыс болады.

-C configfile , --config configfile

/etc/modules.conf орнына файлдың configfile файлын пайдаланыңыз . MODULECONF ортасының айнымалы мәнін әдепкі /etc/modules.conf (немесе /etc/conf.modules (ескірген)) басқа конфигурациялық файлды таңдау үшін де пайдалануға болады.

Қоршаған ортаны айнымалы кезде

UNAME_MACHINE орнатылды, modutils uname () syscall-дан машина өрісінің орнына оның мәнін пайдаланады. Бұл көбінесе 64 биттік модульдерді 32 биттік пайдаланушы кеңістігінде немесе керісінше құрастырғанда пайдаланылады, UNAME_MACHINE параметрін салынған модуль түріне орнатыңыз. Ағымдағы модульдер модульдер үшін толық кросстау режимін қолдамайды, ол хост архитектурасының 32 және 64 биттік нұсқаларын таңдау арқылы шектеледі.

-F ядросы , --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 ( % man ) пәрменін пайдаланыңыз.