Modprobe - ពាក្យបញ្ជាលីនុច - ពាក្យបញ្ជាយូនីក

NAME

modprobe - ការគ្រប់គ្រងកម្រិតខ្ពស់នៃម៉ូឌុលដែលអាចផ្ទុកបាន

SYNOPSIS

modprobe [-adnqv] C- config ] ម៉ូឌុល [និមិត្តសញ្ញា = តម្លៃ ... ]
modprobe [-adnqv] [-C config ] [-t type ]
modprobe -l [-C config ] [-t type ]
modprobe -c [-C config ]
modprobe -r [-dnv] [-C config ] [ម៉ូឌុល ... ]
modprobe -Vh

ជម្រើស

- a , - all

ផ្ទុកម៉ូឌុលដែលផ្គូផ្គង ទាំងអស់ ជំនួសឱ្យការបញ្ឈប់បន្ទាប់ពីការផ្ទុកជោគជ័យលើកដំបូង។

-c , - showconfig

បង្ហាញការកំណត់រចនាសម្ព័ន្ធដែលបានប្រើបច្ចុប្បន្ន។

-C , - config config

ប្រើ config file ជំនួសឱ្យ (optional) /etc/modules.conf ដើម្បីបញ្ជាក់ការកំណត់រចនាសម្ព័ន្ធ។ អថេរបរិស្ថាន MODULECONF ក៏អាចត្រូវបានប្រើដើម្បីជ្រើស (និងបដិសេធ) ឯកសារកំណត់រចនាសម្ព័ន្ធផ្សេងពីលំនាំដើម /etc/modules.conf (ឬ /etc/conf.mules (បានបដិសេធ)) ។

នៅពេលអថេរបរិស្ថាន UNAME_MACHINE ត្រូវបានកំណត់ modutils នឹងប្រើតម្លៃរបស់វាជំនួសឱ្យវាលម៉ាស៊ីនពី uname () syscall ។ នេះត្រូវប្រើជាសំខាន់នៅពេលអ្នកកំពុងចងក្រងម៉ូឌុល 64 ប៊ីតក្នុងទំហំអ្នកប្រើ 32 ប៊ីតឬផ្ទុយមកវិញកំណត់ UNAME_MACHINE ទៅប្រភេទម៉ូឌុល។ modutils បច្ចុប្បន្នមិនគាំទ្ររបៀបឆ្លងឆ្លងពេញលេញសម្រាប់ម៉ូឌុលវាត្រូវបានកំណត់ចំពោះការជ្រើសរើសរវាងកំណែ 32 និង 64 ប៊ីតនៃស្ថាបត្យកម្មរបស់ម៉ាស៊ីន។

-d , --debug

បង្ហាញព័ត៌មានអំពីការតំណាងខាងក្នុងនៃជង់ម៉ូឌុល។

- h , --help

បង្ហាញសេចក្ដីសង្ខេបនៃជម្រើសនិងចាកចេញភ្លាមៗ។

- k , - អូ តូកូលៀន

កំណត់ 'autoclean' នៅលើម៉ូឌុលដែលបានផ្ទុក។ ត្រូវបានប្រើដោយខឺណែលនៅពេលវាហៅនៅលើ modprobe ដើម្បីបំពេញលក្ខណៈពិសេសដែលបាត់ (ផ្គត់ផ្គង់ជាម៉ូឌុលមួយ) ។ ជម្រើស -q ត្រូវបានបញ្ជាក់ដោយ -k ។ ជម្រើសទាំងនេះនឹងត្រូវបានបញ្ជូនដោយស្វ័យប្រវត្តិទៅ insmod

- l , - បញ្ជី

រាយម៉ូឌុលផ្គូផ្គង។

- n , - show

កុំធ្វើសកម្មភាពពិតប្រាកដគ្រាន់តែបង្ហាញពីអ្វីដែលនឹងត្រូវធ្វើ។

-q , - ល្អ

កុំត្អូញត្អែរអំពី insmod បរាជ័យក្នុងការដំឡើងម៉ូឌុលមួយ។ បន្តជាធម្មតាប៉ុន្តែស្ងាត់ដោយមានលទ្ធភាពផ្សេងទៀតសម្រាប់ modprobe ដើម្បីសាកល្បង។ ជម្រើសនេះនឹងផ្ញើដោយស្វ័យប្រវត្តិទៅ insmod

- r , - ដកចេញ

យកម៉ូឌុល (ជង់) ចេញឬធ្វើស្វ័យប្រវត្តិអាស្រ័យថាតើមានម៉ូឌុលណាមួយដែលបានរៀបរាប់នៅលើបន្ទាត់បញ្ជា។

-s , --syslog

រាយការណ៍តាម syslog ជំនួសឱ្យ stderr ។ ជម្រើសនេះនឹងផ្ញើដោយស្វ័យប្រវត្តិទៅ insmod

- t moduletype ; - ម៉ូឌុលប្រភេទ

ពិចារណាតែម៉ូឌុលនៃប្រភេទនេះប៉ុណ្ណោះ។ modprobe នឹងមើលតែម៉ូឌុលដែលផ្លូវ directory របស់វារួមបញ្ចូលយ៉ាងជាក់ស្តែង " / moduletype " ។ ម៉ូឌុលប្រភេទ អាចរួមបញ្ចូលឈ្មោះថតច្រើនជាងមួយឧ។ " -t drivers / net " នឹងរាយម៉ូឌុលនៅក្នុង xxx កម្មវិធីបញ្ជា / net / និងថតរងរបស់វា។

- v , - verbose

បោះពុម្ពពាក្យបញ្ជាទាំងអស់នៅពេលពួកគេត្រូវបានប្រតិបត្តិ។

-V, - វិវឌ្ឍ

បង្ហាញកំណែរបស់ modprobe

ចំណាំ:

ឈ្មោះម៉ូឌុលមិនត្រូវមានផ្លូវ (គ្មាន '/') ទេហើយក៏មិនមានពួកវា '.o' ទេ។ ឧទាហរណ៍ slip គឺជាឈ្មោះម៉ូឌុលត្រឹមត្រូវសម្រាប់ modprobe, /lib/modules/2.2.19/net/slip ហើយ slip.o មិនត្រឹមត្រូវ។ វាអនុវត្តទៅបន្ទាត់ពាក្យបញ្ជានិងធាតុក្នុងការកំណត់រចនាសម្ព័ន្ធ។

DESCRIPTION

ឧបករណ៍ប្រើប្រាស់ modprobe និង depmod ត្រូវបានបង្កើតឡើងដើម្បីធ្វើឱ្យខឺណែលម៉ូឌុលម៉ូឌុលកាន់តែអាចគ្រប់គ្រងបានសម្រាប់អ្នកប្រើគ្រប់អ្នកគ្រប់គ្រងនិងអ្នកថែទាំចែកចាយទាំងអស់។

Modprobe ប្រើឯកសារភាពអាស្រ័យដូចជា "Makefile" ដែលបង្កើតដោយ depmod ដើម្បីផ្ទុកម៉ូឌុលដែលពាក់ព័ន្ធពីសំណុំនៃម៉ូឌុលដែលមាននៅក្នុងដើមឈើថតដែលបានកំណត់ជាមុន។

Modprobe ត្រូវបានប្រើដើម្បីផ្ទុកម៉ូឌុលមួយម៉ូឌុលពឹងផ្អែកឬម៉ូឌុលទាំងអស់ដែលត្រូវបានសម្គាល់ដោយស្លាកជាក់លាក់មួយ។

Modprobe នឹងផ្ទុកម៉ូឌុលមូលដ្ឋានទាំងអស់ដោយស្វ័យប្រវត្តិដែលត្រូវការនៅក្នុងជង់ម៉ូឌុលដែលបានពិពណ៌នាដោយម៉ូឌុលឯកសារពឹងផ្អែក។ ប្រសិនបើការផ្ទុកម៉ូឌុលមួយក្នុងចំណោមម៉ូឌុលទាំងនេះបរាជ័យជំពូកទាំងមូលនៃម៉ូឌុលដែលបានផ្ទុកនៅក្នុងសម័យបច្ចុប្បន្ននឹងត្រូវបានផ្ទុកដោយស្វ័យប្រវត្តិ។

Modprobe មានពីរវិធីក្នុងការផ្ទុកម៉ូឌុល។ វិធីមួយ (របៀបស្វែងរក) នឹងព្យាយាមផ្ទុកម៉ូឌុលចេញពីបញ្ជី (កំណត់ដោយ លំនាំ ) ។ Modprobe ឈប់ដំណើរការនៅពេលម៉ូឌុលមួយផ្ទុកដោយជោគជ័យ។ វាអាចត្រូវបានប្រើដើម្បីដំឡើងកម្មវិធីបញ្ជាអ៊ីសឺរណិតមួយក្នុងចំណោមបញ្ជី។
ម៉ូឌុលវិធីផ្សេងទៀតអាចត្រូវបានប្រើគឺផ្ទុកម៉ូឌុល ទាំងអស់ ពីបញ្ជី។ មើល ឧទាហរណ៍ EXAMPLES ខាងក្រោម។

ជាមួយជម្រើស -r , modprobe នឹងពន្លាដោយស្វ័យប្រវត្តិនៃម៉ូឌុលដែលស្រដៀងនឹងវិធី " rmmod -r " ។ ចំណាំថាការប្រើ " modprobe -r " នឹងសម្អាតម៉ូឌុលដែលបានប្រើដោយស្វ័យប្រវត្តិដែលមិនប្រើនិងអនុវត្តពាក្យបញ្ជាមុននិងក្រោយការលុបក្នុងឯកសារកំណត់រចនាសម្ព័ន្ធ /etc/modules.conf

ការរួមបញ្ចូលជម្រើស - l និង - t រាយម៉ូឌុលដែលមានទាំងអស់នៃប្រភេទជាក់លាក់មួយ។

ជម្រើស -c នឹងបោះពុម្ពការកំណត់រចនាសម្ព័ន្ធដែលបានប្រើបច្ចុប្បន្ន (លំនាំដើម + ឯកសារកំណត់រចនាសម្ព័ន្ធ) ។

ការកំណត់​រចនាសម្ព័ន្ធ

ឥរិយាបថរបស់ modprobe (និង depmod ) អាចត្រូវបានកែប្រែដោយឯកសារកំណត់រចនាសម្ព័ន្ធ (ស្រេចចិត្ត) /etc/modules.conf
ចំពោះសេចក្ដីពិពណ៌នាលម្អិតបន្ថែមទៀតអំពីអ្វីដែលឯកសារនេះអាចមានរួមទាំងការកំណត់រចនាសម្ព័ន្ធលំនាំដើមដែលត្រូវបានប្រើដោយ depmod និង modprobe សូមមើល modules.conf (5) ។

ចំណាំថាពាក្យបញ្ជាមុននិងក្រោយការដកចេញនឹង មិន ត្រូវបានប្រតិបត្តិប្រសិនបើម៉ូឌុលមួយត្រូវបាន "ស្វ័យប្រវត្តិ" ដោយ kerneld! រកមើលការគាំទ្រឡើងសម្រាប់ការផ្ទុកម៉ូឌុលតស៊ូជំនួសវិញ។
ប្រសិនបើអ្នកចង់ប្រើលក្ខណៈពិសេសមុននិងក្រោយការដំឡើងអ្នកនឹងត្រូវបិទ autoclean សម្រាប់ kerneld ហើយជំនួសវិញដាក់អ្វីមួយដូចបន្ទាត់ខាងក្រោមនៅក្នុង crontab របស់អ្នក (វាត្រូវបានប្រើសម្រាប់ប្រព័ន្ធ kmod ផងដែរ) ដើម្បីធ្វើ autoclean រៀងរាល់ 2 នាទីម្តង។ :

* / 2 * * * * test -f / proc / modules & & / sbin / modprobe -r

យុទ្ធសាស្រ្ត

គំនិតនេះគឺថា modprobe នឹងមើលជាមុននៅក្នុងថតដែលមានម៉ូឌុលចងក្រងសម្រាប់ការចេញផ្សាយខឺណែលបច្ចុប្បន្ន។ ប្រសិនបើរកមិនឃើញម៉ូឌុលនៅទីនោះ modprobe នឹងមើលទៅក្នុងថតទូទៅទៅកំណែខឺណែល (ឧ។ 2.0, 2.2) ។ ប្រសិនបើម៉ូឌុលនៅតែរកឃើញនោះ modprobe នឹងរកមើលក្នុងថតដែលមានម៉ូឌុលសម្រាប់ការចេញផ្សាយលំនាំដើម។ ល។

ពេលអ្នកដំឡើងលីនុចថ្មីម៉ូឌុលគួរត្រូវបានផ្លាស់ទីទៅថតដែលទាក់ទងនឹងការចេញផ្សាយ (និងកំណែ) នៃខឺណែលដែលអ្នកកំពុងដំឡើង។ បន្ទាប់មកអ្នកគួរតែបង្កើតតំណនិមិត្តសញ្ញាពីថតនេះទៅថត "លំនាំដើម" ។

រាល់ពេលដែលអ្នកចងក្រងខឺណែលថ្មីពាក្យបញ្ជា " បង្កើតម៉ូឌុលដំឡើង " នឹងបង្កើតថតថ្មីប៉ុន្តែមិនផ្លាស់ប្ដូរតំណ "លំនាំដើម" ទេ។

នៅពេលដែលអ្នកទទួលម៉ូឌុលដែលមិនទាក់ទងទៅនឹងការបែងចែកខឺណែលអ្នកគួរតែដាក់វានៅក្នុងថតឯករាជ្យមួយនៅក្រោម ម៉ូឌុល / lib / modules

នេះជាយុទ្ធសាស្ត្រលំនាំដើមដែលអាចបដិសេធនៅក្នុង /etc/modules.conf

ឧទាហរណ៍

modprobe-net សុទ្ធ

ផ្ទុកម៉ូឌុលមួយក្នុងចំណោមម៉ូឌុលដែលត្រូវបានរក្សាទុកក្នុងថតដែលដាក់ស្លាក "net" ។ ម៉ូឌុលនីមួយត្រូវបានគេព្យាយាមរហូតដល់នរណាម្នាក់ទទួលបានជោគជ័យ។

modprobe -a -t boot

ម៉ូឌុលទាំងអស់ដែលត្រូវបានផ្ទុកនៅក្នុងថតដែលមានស្លាក "boot" នឹងត្រូវបានផ្ទុក។

គ្រូពេទ្យប្រហែលជាវះកាត់

វានឹងព្យាយាមផ្ទុកម៉ូឌុល slhc.o ប្រសិនបើវាមិនត្រូវបានផ្ទុកពីមុនទេព្រោះម៉ូឌុលគ្រូពេទ្យប្រហែលជាត្រូវការមុខងារនៅក្នុងម៉ូឌុល slhc ។ ភាពអាស្រ័យនេះនឹងត្រូវបានពិពណ៌នានៅក្នុង ម៉ូឌុល ឯកសារដែលត្រូវបានបង្កើតដោយស្វ័យប្រវត្តិដោយ depmod

modprobe -r slip

ការនេះនឹងលប់ម៉ូឌុលរំកិល។ វានឹងលប់ម៉ូឌុល slhc ដោយស្វ័យប្រវត្តិលុះត្រាតែវាត្រូវបានប្រើដោយម៉ូឌុលផ្សេងទៀតមួយចំនួនផងដែរ (ឧទាហរណ៍ .pppp) ។

សូម​មើល​ផង​ដែរ

depmod (8), lsmod (8), kerneld (8), ksyms (8), rmmod (8) ។

ចំណុច​សុវត្ថិភាព

ប្រសិនបើ uid មានប្រសិទ្ធិភាពមិនស្មើនឹង uid ពិតនោះ modprobe ចាត់ទុកបញ្ចូលរបស់វាជាមួយនឹងការសង្ស័យខ្លាំង។ ប៉ារ៉ាម៉ែត្រចុងក្រោយតែងតែត្រូវបានចាត់ទុកថាជាឈ្មោះម៉ូឌុលបើទោះបីជាវាចាប់ផ្ដើមដោយ '-' ក៏ដោយ។ មានតែឈ្មោះម៉ូឌុលនិងជម្រើសនៃសំណុំបែបបទ "អថេរ = តម្លៃ" ត្រូវបានហាមឃាត់។ ឈ្មោះម៉ូឌុលតែងតែត្រូវបានចាត់ទុកជាខ្សែអក្សរគ្មានការពង្រីកមេតាត្រូវបានអនុវត្តនៅក្នុងរបៀបសុវត្ថិភាព។ ទោះជាយ៉ាងណាការពង្រីកមេតានៅតែត្រូវបានអនុវត្តទៅទិន្នន័យអានពីឯកសារកំណត់រចនាសម្ព័ន្ធ។

euid អាចមិនស្មើនឹង uid នៅពេល modprobe ត្រូវបានដកហូតពីខឺណែលនេះគឺពិតសម្រាប់ខឺណែល> = 2.4.0-test11 ។ នៅក្នុងពិភពដ៏ល្អមួយ modprobe អាចជឿទុកចិត្តខឺណែលដើម្បីបញ្ជូនប៉ារ៉ាម៉ែត្រដែលត្រឹមត្រូវទៅ modprobe ។ យ៉ាងណាក៏ដោយយ៉ាងហោចណាស់ការទាញ root root មួយបានកើតឡើងព្រោះកូដខឺណែលកម្រិតខ្ពស់បានបញ្ជូនប៉ារ៉ាម៉ែត្រដែលមិនបានបញ្ជាក់ដោយផ្ទាល់ពីអ្នកប្រើទៅ modprobe ។ ដូច្នេះ modprobe លែងទុកចិត្តលើការបញ្ចូលខឺណែល។

modprobe កំណត់របៀបសុវត្ថិភាពដោយស្វ័យប្រវត្តិនៅពេលបរិស្ថានមានតែខ្សែអក្សរទាំងនេះប៉ុណ្ណោះ

ទំព័រដើម = TERM = linux PATH = / sbin: / usr / sbin: / bin: / usr / bin

នេះរកឃើញការប្រតិបត្តិ modprobe ពីខឺណែលលើខឺណែល 2.2 ទោះបីជា 2.4.0-test11 ក៏ដោយទោះបីជា uid == euid ដែលវាធ្វើនៅលើខឺណែលមុន។

ការបញ្ជាបញ្ជា

ប្រសិនបើមានថត / var / log / ksymoops ហើយ modprobe ត្រូវបានរត់ជាមួយជម្រើសដែលអាចផ្ទុកឬលុបម៉ូឌុលមួយនោះ modprobe នឹងចុះឈ្មោះពាក្យបញ្ជារបស់វានិងត្រឡប់ស្ថានភាពក្នុង / var / log / ksymoops / `date% Y% m% d .log` ។ គ្មានការប្ដូរដើម្បីបិទការកត់ត្រាដោយស្វ័យប្រវត្តិនេះទេប្រសិនបើអ្នកមិនចង់ឱ្យវាកើតឡើងសូមកុំបង្កើត / var / log / ksymoops ។ ប្រសិនបើមានថតនោះវាគួរត្រូវបានគ្រប់គ្រងដោយ root និងក្លាយជា mode 644 ឬ 600 ហើយអ្នកគួរតែរត់ស្គ្រីប insmod_ksymoops_clean ជារៀងរាល់ថ្ងៃ។

មធ្យោបាយចាំបាច់

depmod (8), insmod (8) ។

សំខាន់: ប្រើពាក្យបញ្ជា man ( % man ) ដើម្បីមើលពីរបៀបប្រើពាក្យបញ្ជាលើកុំព្យូទ័រជាក់លាក់របស់អ្នក។