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

ឈ្មោះ

depmod - ដោះស្រាយការពិពណ៌នាភាពអាស្រ័យសម្រាប់ម៉ូឌុលខឺណែលដែលអាចផ្ទុកបាន

សង្ខេប

depmod [-aA] [-ehnqrsuvV] [-C configfile ] [-F kernelsyms ] [-b directory ] [ forced_version ]
depmod [-enqrsuv] [-F kernelsyms ] module1.o module2.o ...

ការពិពណ៌នា

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

Depmod បង្កើតឯកសារអាស្រ័យលើ "Makefile" ដែលផ្អែកលើនិមិត្តសញ្ញាដែលវារកឃើញក្នុងសំណុំម៉ូឌុលដែលបានរៀបរាប់នៅលើបន្ទាត់ពាក្យបញ្ជាឬពីថតដែលបានបញ្ជាក់នៅក្នុងឯកសារកំណត់រចនាសម្ព័ន្ធ។ ឯកសារភាពអាស្រ័យនេះត្រូវបានប្រើក្រោយមកដោយ modprobe ដើម្បីផ្ទុកម៉ូឌុលត្រឹមត្រូវឬជង់ម៉ូឌុល។

ការប្រើធម្មតានៃ depmod គឺដើម្បីរួមបញ្ចូលបន្ទាត់


/ sbin / depmod -a

កន្លែងណាមួយនៅក្នុង rc-files ក្នុង /etc/rc.d ដូច្នេះភាពអាស្រ័យនៃម៉ូឌុលត្រឹមត្រូវនឹងអាចប្រើបានភ្លាមៗបន្ទាប់ពីចាប់ផ្ដើមប្រព័ន្ធ។ ចំណាំថាជម្រើស -a ឥឡូវនេះជាជម្រើស។ សម្រាប់គោលបំណង boot-up ជម្រើស -q អាចមានលក្ខណៈសមស្របជាងនេះព្រោះវាធ្វើឱ្យភាពស្ងៀមស្ងាត់អំពីនិមិត្តសញ្ញាដែលមិនទាន់ដោះស្រាយ។

វាក៏អាចបង្កើតឯកសារភាពអាស្រ័យបានភ្លាមៗផងដែរបន្ទាប់ពីចងក្រងខឺណែលថ្មី។ ប្រសិនបើអ្នកធ្វើ " 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

- A , - ត្រឹមត្រូវ

ប្រៀបធៀបត្រាពេលវេលារបស់ឯកសារហើយបើចាំបាច់ធ្វើសកម្មភាពដូច depmod -a ។ ជម្រើសនេះធ្វើបច្ចុប្បន្នភាពឯកសារភាពអាស្រ័យប្រសិនបើមានអ្វីផ្លាស់ប្តូរ។

- e , --errsyms

បង្ហាញនិមិត្តសញ្ញាទាំងអស់ដែលមិនទាន់ដោះស្រាយសម្រាប់ម៉ូឌុលនីមួយៗ។

- h , --help

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

- n , - show

សរសេរឯកសារអាស្រ័យលើ stdout ជំនួសឱ្យមែកធាង / lib / modules

-q , - ល្អ

ប្រាប់ភាពទន់ភ្លន់ឱ្យនៅស្ងៀមហើយមិនត្រូវត្អូញត្អែរអំពីនិមិត្តសញ្ញាដែលបាត់។

-r , - -

អ្នកប្រើមួយចំនួនចងក្រងម៉ូឌុលនៅក្រោម userid មិនមែនជា root បន្ទាប់មកដំឡើងម៉ូឌុលជា root ។ ដំណើរការនេះអាចទុកម៉ូឌុលដែលជាកម្មសិទ្ធិរបស់ userid មិនមែនជា root ទោះបីជាថតម៉ូឌុលត្រូវបានគ្រប់គ្រងដោយ root ក៏ដោយ។ បើសិនជា userid មិនមែនជា root ត្រូវបានសម្រុះសម្រួលអ្នកចុលអាចសរសេរជាន់លើម៉ូឌុលដែលមានស្រាប់ដែលជាកម្មសិទ្ធិរបស់ userid នោះហើយប្រើការប៉ះពាល់នេះទៅ bootstrap ឡើងដល់ root ។

តាមលំនាំដើម modutils នឹងបដិសេធការប៉ុនប៉ងដើម្បីប្រើម៉ូឌុលដែលមិនមែនជារបស់ root ។ ការបញ្ជាក់ថា -r នឹងទប់ស្កាត់កំហុសហើយអនុញ្ញាតឱ្យ root ផ្ទុកម៉ូឌុលដែលមិនមែនជារបស់ root ។

ការប្រើប្រាស់នៃ -r គឺជាការប៉ះពាល់សន្តិសុខដ៏សំខាន់ហើយមិនត្រូវបានណែនាំទេ។

-s , --syslog

សរសេរសារកំហុសទាំងអស់តាមរយៈដេមិន syslog ជំនួសឱ្យ stderr ។

-u , - មិនដោះស្រាយកំហុស

depmod 2.4 មិនកំណត់កូដត្រឡប់នៅពេលមាននិមិត្តសញ្ញាមិនទាន់ដោះស្រាយ។ ការចេញផ្សាយខ្នាតធំនៃ modutils (2.5) បន្ទាប់នឹងកំណត់កូដត្រឡប់សម្រាប់និមិត្តសញ្ញាមិនទាន់ត្រូវបានដោះស្រាយ។ ការចែកចាយខ្លះចង់បានលេខកូដត្រឡប់មិនមែនសូន្យក្នុងទម្រង់ 2.4 ប៉ុណ្ណោះប៉ុន្តែការផ្លាស់ប្តូរនោះអាចបង្កបញ្ហាដល់អ្នកប្រើដែលរំពឹងឥរិយាបថចាស់។ ប្រសិនបើអ្នកចង់បានកូដត្រឡប់មិនមែនសូន្យនៅក្នុង depmod 2.4, បញ្ជាក់ -udepmod 2.5 នឹងមិនអើពើស្ងាត់ទង់ -u ហើយនឹងតែងតែផ្តល់កូដត្រឡប់មិនសូន្យសម្រាប់និមិត្តសញ្ញាមិនទាន់ដោះស្រាយ។

-v , - កិរិយាស័ព្ទ

បង្ហាញឈ្មោះរបស់ម៉ូឌុលនីមួយៗនៅពេលវាកំពុងដំណើរការ។

-V , - វិវឌ្ឍ

បង្ហាញកំណែ depmod

ជម្រើសខាងក្រោមមានប្រយោជន៍សម្រាប់មនុស្សដែលកំពុងគ្រប់គ្រងការចែកចាយ:

-b directory , - មូលដ្ឋាន based directory

ប្រសិនបើមែកធាងថត / lib / ម៉ូឌុល ដែលមានដើមរងរបស់ម៉ូឌុលត្រូវបានផ្លាស់ទីទៅកន្លែងណាមួយផ្សេងទៀតដើម្បីគ្រប់គ្រងម៉ូឌុលសម្រាប់បរិយាកាសផ្សេងជម្រើស -b ប្រាប់ depmod ដែលត្រូវរករូបភាពដែលបានផ្លាស់ទីនៃមែកធាង / lib / modules ។ ឯកសារយោងឯកសារនៅក្នុងឯកសារ output depmod ដែលត្រូវបានបង្កើតឡើង, module.dep , នឹងមិនមានផ្លូវដែលមាន មូលដ្ឋាន លើ។ នេះមានន័យថានៅពេលដែលមែកធាងឯកសារត្រូវបានផ្លាស់ទីត្រឡប់ពី មូលដ្ឋាន directory / lib / modules ទៅក្នុង / lib / ម៉ូឌុល នៅក្នុងការចែកចាយចុងក្រោយសេចក្តីយោងទាំងអស់នឹងត្រឹមត្រូវ។

-C configfile , - configfile configfile

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

នៅពេលអថេរបរិស្ថាន

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

-F ខឺណែលលីម , - ហ្វាយ លីយស៊ីម

នៅពេលបង្កើតឯកសារភាពអាស្រ័យសម្រាប់ខឺណែលផ្សេងគ្នាជាងខឺណែលកំពុងដំណើរការបច្ចុប្បន្នវាសំខាន់ដែល depmod ប្រើសំណុំនិមិត្តសញ្ញាខឺណែលត្រឹមត្រូវដើម្បីដោះស្រាយសេចក្តីយោងខឺណែលនៅក្នុងម៉ូឌុលនីមួយៗ។ និមិត្តសញ្ញាទាំងនេះអាចជាច្បាប់ចម្លងនៃ System.map ពីខឺណែលផ្សេងទៀតឬច្បាប់ចម្លងនៃលទ្ធផលពី / proc / ksyms ។ ប្រសិនបើខឺណែលរបស់អ្នកប្រើនិមិត្តសញ្ញាកំណែវាជាការល្អបំផុតដែលប្រើច្បាប់ចម្លងនៃលទ្ធផល / proc / ksyms ចាប់តាំងពីឯកសារនោះមាននិមិត្តសញ្ញានិមិត្តសញ្ញាខឺណែល។ ទោះយ៉ាងណាក៏ដោយអ្នកអាចប្រើ System.map ទោះបីជាមាននិមិត្តសញ្ញាកំណែ។

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

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

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

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

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

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

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

lsmod (8), ksyms (8)

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