Skip to main content

Linux / Unix கட்டளை பற்றி அனைத்து: modprobe

Anonim

பெயர்

modprobe - ஏற்றப்பட்ட தொகுதிகள் உயர் மட்ட கையாளுதல்

கதைச்சுருக்கம்

modprobe -dnqv -C கட்டமைப்பு தொகுதி குறியீடு = மதிப்பு …modprobe -dnqv -C கட்டமைப்பு -t வகை முறைmodprobe -l -C கட்டமைப்பு -t வகை முறைmodprobe -c -C கட்டமைப்பு modprobe -r -dnv -C கட்டமைப்பு தொகுதி …modprobe -Vh

விருப்பங்கள்

-a, --all

சுமைஅனைத்து முதல் வெற்றிகரமான ஏற்றுதல்க்குப் பின் நிறுத்துவதற்கு பதிலாக பொருந்தும் தொகுதிகள்.

-c, --showconfig

தற்போது பயன்படுத்தப்படும் உள்ளமைவை காட்டுக.

-C, --config கட்டமைப்பு

கோப்பைப் பயன்படுத்தவும் கட்டமைப்பு அதற்கு பதிலாக (விரும்பினால்) /etc/modules.conf கட்டமைப்பை குறிப்பிடுக. சூழல் மாறிMODULECONF இயல்புநிலை /etc/modules.conf இலிருந்து வேறுபட்ட கட்டமைப்பு கோப்பினை (மற்றும் மேலெழுத) தேர்ந்தெடுக்கவும் பயன்படுத்தலாம் (அல்லது /etc/conf.modules (தடுக்கப்பட்டது)).

சூழல் மாறும் போதுUNAME_MACHINE அமைக்கப்பட்டது, modutils இயந்திரத்தின் புலத்திற்கு பதிலாக அதன் மதிப்பை uname () syscall இலிருந்து பயன்படுத்துகிறது. 32 பிட் பயனர் இடைவெளியில் அல்லது பிரிக்கப்படாத 64 பிட் தொகுதிகள் தொகுக்கப்படும் போது இது முக்கியமாக பயன்படுத்தப்படுகிறதுUNAME_MACHINE தொகுதிகள் வகைக்கு. நடப்பு modulils தொகுதிகள் முழு குறுக்கு உருவாக்க முறைக்கு ஆதரவளிக்கவில்லை, இது ஹோஸ்ட் கட்டமைப்பின் 32 மற்றும் 64-பிட் பதிப்புகள் இடையே தேர்ந்தெடுக்கும் வரம்புக்குட்பட்டது.

-d, --debug

தொகுதிகள் ஸ்டாக் இன் உள் பிரதிநிதித்துவம் பற்றிய தகவலைக் காட்டு.

-h, --உதவி

விருப்பங்களின் சுருக்கம் காட்டவும் உடனடியாக வெளியேறவும்.

-k, --autoclean

ஏற்றப்பட்ட தொகுதிகள் மீது 'ஆட்டோகிளேனை' அமைக்கவும். கர்னல் அதை அழைக்கும் போது பயன்படுத்தப்படுகிறதுmodprobe காணாமல் போன அம்சத்தை திருப்தி செய்ய (ஒரு தொகுதி வழங்கப்பட்டது). தி-q விருப்பம் குறிக்கப்பட்டது-k. இந்த விருப்பங்கள் தானாகவே அனுப்பப்படும்insmod.

-l, --list

பொருந்தும் தொகுதிகள் பட்டியல்.

-n, --show

உண்மையில் செயலை செய்யாதே, என்ன செய்வதென்று மட்டும் காட்டு.

-q, --quiet

புகார் செய்யாதேinsmod ஒரு தொகுதி நிறுவ முடியவில்லை. சாதாரணமாக தொடரலாம், ஆனால் மெதுவாக, சோதிக்க மெட்ராஸ்ப்பிற்கான மற்ற சாத்தியக்கூறுகளுடன். இந்த விருப்பம் தானாகவே அனுப்பப்படும்insmod.

-r, --remove

கட்டளை வரியில் குறிப்பிட்டுள்ள ஏதேனும் தொகுதிகள் உள்ளனவா என்பதைப் பொறுத்து, தொகுதி (அடுக்குகள்) அகற்று அல்லது ஆட்டோக்ளிகன் செய்யுங்கள்.

-s, --syslog

Stderr க்கு பதிலாக syslog வழியாக புகாரளிக்கவும். இந்த விருப்பங்கள் தானாகவே அனுப்பப்படும்insmod.

-t moduletype ; --type moduletype

இந்த வகை மாடல்களை மட்டும் கருத்தில் கொள்ளுங்கள். modprobe மட்டுமே அடைவு பாதையில் சரியாக உள்ள " / Moduletype / '. moduletype ஒன்றுக்கு மேற்பட்ட அடைவு பெயரை சேர்க்கலாம், எ.கா. "-t டிரைவர்கள் / நெட் "உள்ள தொகுதிகள் பட்டியலிட வேண்டும் XXX / டிரைவர்கள் / நெட் / மற்றும் அதன் துணை அடைவுகள்.

-v, --verbose

அனைத்து கட்டளைகளையும் அவர்கள் செயல்படுத்தப்படுகையில் அச்சிடுக.

-V, - பதிப்பு

பதிப்பைக் காட்டுmodprobe.

குறிப்பு:

தொகுதி பெயர்களில் பாதைகள் இல்லை (இல்லை '/'), அல்லது அவர்கள் ' உதாரணமாக, ஸ்லிப் செல்லுபடியாகும் தொகுதி பெயர்modprobe, /lib/modules/2.2.19/net/slip மற்றும் slip.o தவறானவை. இந்த கட்டளை வரி மற்றும் கட்டமைப்பு உள்ள உள்ளீடுகளை பொருந்தும்.

கட்டளை விளக்கம்

திmodprobe மற்றும்depmod பயன்பாடுகள் அனைத்து பயனர்கள், நிர்வாகிகள் மற்றும் விநியோக பராமரிப்பாளர்களுக்கான லினக்ஸ் மட்டு கர்னலை இன்னும் நிர்வகிக்கக்கூடியதாக வடிவமைக்கப்பட்டுள்ளது.

modprobe ஒரு "Makefile" -ஐ சார்புடைய சார்பு கோப்பைப் பயன்படுத்துகிறதுdepmod, முன் அடைவு மரங்களில் கிடைக்கக்கூடிய தொகுதிக்கூறுகளின் தொகுப்பிலிருந்து தானாகவே தொடர்புடைய தொகுதி (கள்) ஏற்றப்படும்.

modprobe ஒரு ஒற்றை தொகுதி, சார்பு தொகுதிகள், அல்லது குறிப்பிட்ட குறிச்சொல்லுடன் குறிக்கப்படும் அனைத்து தொகுதிகள் ஆகியவற்றை ஏற்றுவதற்கு பயன்படுத்தப்படுகிறது.

modprobe சார்பு கோப்பில் விவரித்துள்ளபடி, ஒரு தொகுதி ஸ்டாக் தேவைப்படும் அனைத்து அடிப்படை தொகுதிக்கூறுகளையும் தானாக ஏற்றும் modules.dep . இந்த தொகுப்பின் ஒரு ஏற்றம் தோல்வியடைந்தால், நடப்பு அமர்வில் ஏற்றப்பட்ட தொகுதிகளின் தற்போதைய ஸ்டேக் தானாகவே ஏற்றப்படாது.

modprobe தொகுதிகளை ஏற்றுவதற்கான இரண்டு வழிகள் உள்ளன. ஒரு வழி (probe mode) பட்டியலிலிருந்து ஒரு தொகுதிகளை ஏற்ற முயற்சிக்கும் (வரையறுக்கப்படுகிறது முறை ). modprobe ஒரு தொகுதி வெற்றிகரமாக வெற்றிகரமாக ஏற்றுக்கொள்வதை நிறுத்துகிறது. பட்டியலிலிருந்து ஒரு ஈத்தர்நெட் இயக்கியை தானியக்கப்படுத்த பயன்படுகிறது. வேறு வழிmodprobe பயன்படுத்த முடியும் ஏற்ற வேண்டும்அனைத்து பட்டியலிலிருந்து தொகுதிகள். பார்க்கஉதாரணங்கள், கீழே.

விருப்பத்துடன்-r, modprobe தானாகவே மாடல்களின் ஒரு அடுக்குகளை ஏற்றும்,rmmod -r"modprobe -r"பயன்படுத்தப்படாத தானியங்குநிரப்புத்தொகுதிகளை மாற்றியமைக்கலாம் மற்றும் கட்டமைப்பு கோப்பில் முன் மற்றும் பிந்தைய நீக்க கட்டளைகளை செய்யவும் /etc/modules.conf .

விருப்பங்கள் இணைக்கும்-l மற்றும்-t ஒரு குறிப்பிட்ட வகையின் அனைத்து பகுதிகளையும் பட்டியலிடுகிறது.

விருப்பம்-c தற்போது பயன்படுத்தப்படும் உள்ளமைவு (இயல்புநிலை + கட்டமைப்பு கோப்பு) அச்சிடும்.

கட்டமைப்பு

நடத்தைmodprobe (மற்றும்depmod) (விருப்ப) கட்டமைப்பு கோப்பினை மாற்றலாம் /etc/modules.conf . இந்தக் கோப்பைக் கொண்டிருப்பதைப் பற்றிய விரிவான விளக்கத்திற்காக, அதே போல் பயன்படுத்தப்படும் இயல்புநிலை உள்ளமைவுக்கும்depmod மற்றும்modprobe, பார்க்கவும்modules.conf(5).

முன்- மற்றும் பிந்தைய நீக்க கட்டளைகள்இல்லை ஒரு தொகுதி kerneld மூலம் "autocleaned" என்றால் செயல்படுத்தப்படும்! அதற்கு பதிலாக நிலையான தொகுதி சேமிப்பிற்கான வரவிருக்கும் ஆதரவுக்காக தேடுங்கள். முன் மற்றும் பிந்தைய நிறுவலை அம்சங்களை நீங்கள் பயன்படுத்த விரும்பினால், நீங்கள் kerneld க்கு தானியக்கத்தை அணைக்க வேண்டும், அதற்கு பதிலாக பின்வரும் வரியைcrontab ஒவ்வொரு 2 நிமிடங்களுக்கும் ஆட்டோக்ளிகன் செய்ய (இது கிமுட் கணினிகளுக்காகவும் பயன்படுத்தப்படுகிறது): * / 2 * * * test -f / proc / modules && / sbin / modprobe -r

மூலோபாயம்

யோசனை என்றுmodprobe கர்னலின் தற்போதைய வெளியீட்டில் தொகுக்கப்பட்ட தொகுதிக்கூறுகளைக் கொண்ட கோப்பகத்தில் முதலில் பார்ப்பீர்கள். தொகுதி அங்கு இல்லை என்றால்,modprobe கர்னல் பதிப்பிற்கு பொதுவான அடைவில் இருக்கும் (எ.கா. 2.0, 2.2). தொகுதி இன்னும் காணப்படவில்லை என்றால்,modprobe இயல்புநிலை வெளியீட்டிற்கான தொகுதிக்கூறுகளைக் கொண்ட கோப்பகத்தில் இருக்கும், மற்றும் பல.

நீங்கள் ஒரு புதிய லினக்ஸ் நிறுவும்போது, ​​தொகுப்புகள் நீங்கள் நிறுவும் கர்னலின் (வெளியீடு) வெளியீடான அடைவுக்கு நகர்த்தப்பட வேண்டும். இந்த கோப்பகத்திலிருந்து "இயல்புநிலை" அடைவுக்கு நீங்கள் ஒரு symlink செய்ய வேண்டும்.

ஒவ்வொரு முறையும் நீங்கள் ஒரு புதிய கர்னலை தொகுக்கலாம், கட்டளை "modules_install செய்யுங்கள்"ஒரு புதிய அடைவை உருவாக்கும், ஆனால்" இயல்புநிலை "இணைப்பை மாற்றாது.

கர்னல் பகிர்வுக்கு தொடர்பில்லாத ஒரு தொகுதி உங்களுக்கு கிடைத்தால், அதை பதிப்பு-சாராத அடைவுகளின் கீழ் வைக்க வேண்டும் / லிபரல் / தொகுதிகள் .

இது இயல்புநிலை மூலோபாயம் ஆகும், இது மீறப்படலாம் /etc/modules.conf .

எடுத்துக்காட்டுகள்

modprobe -t net

"நிகர" குறியிடப்பட்ட கோப்பில் சேமிக்கப்படும் தொகுதிகள் ஒன்றை ஏற்றவும். ஒரு தொகுதி வெற்றி பெறும் வரை ஒவ்வொரு தொகுதிகளும் முயற்சி செய்யப்படுகின்றன.

modprobe -a -t boot

"துவக்க" குறியீட்டில் உள்ள அடைவுகளில் சேமிக்கப்படும் அனைத்து தொகுதிகள் ஏற்றப்படும்.

modprobe slip

இது slhc தொகுதிக்கு தேவையான slip தொகுதிக்கு தேவைப்படும் என்பதால் முன்னதாக ஏற்றப்பட்டிருந்தால் அது slhc.o தொகுதிகளை ஏற்ற முயற்சிக்கும். இந்த சார்பு கோப்பில் விவரிக்கப்படும் modules.dep அது தானாகவே உருவாக்கப்பட்டதுdepmod.

modprobe -r சீட்டு

இது ஸ்ளிப் தொகுதிகளை ஏற்றும். வேறு சில தொகுதிகளிலும் (எ.கா. பிபிபி) பயன்படுத்தப்படாவிட்டால், அது தானாகவே slhc தொகுதிகளை ஏற்றும்.

மேலும் காண்க:

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

பாதுகாப்பான முறையில்

பயனுள்ள UID பிறகு உண்மையான UID சமமாக இல்லை என்றால்modprobe தீவிரமான சந்தேகத்துடன் அதன் உள்ளீட்டை நடத்துகிறது. கடைசி அளவுரு எப்போதுமே 'தொகுதி' தொடங்கும் போதும் ஒரு தொகுதி பெயராக கருதப்படுகிறது. ஒரே ஒரு தொகுதி பெயர் மற்றும் வடிவம் "மாறி = மதிப்பு" என்ற விருப்பம் தடைசெய்யப்பட்டுள்ளது. தொகுதி பெயர் எப்போதும் ஒரு சரமாக கருதப்படுகிறது, மெட்டா விரிவாக்கம் பாதுகாப்பான முறையில் செயல்படுத்தப்படவில்லை. எனினும் மெட்டா விரிவாக்கம் இன்னும் கட்டமைப்பு கோப்பில் இருந்து படிக்கப்படும் தரவுக்கு பயன்படுத்தப்படும்.

கர்னலில் இருந்து modprobe செயல்படுத்தப்படும் போது யூடிட் சமமாக இருக்காது, இது கெர்னல்ஸ்> = 2.4.0-test11 க்கு உண்மையாகும். ஒரு சிறந்த உலகில்,modprobe கர்னல் நம்பகமான அளவுருக்கள் மட்டுமே மாற்றியமைக்கும்படி நம்ப முடியும். எனினும் குறைந்தபட்சம் ஒரு உள்ளூர் ரூட் சுரண்டல் ஏற்பட்டுள்ளது, ஏனென்றால் உயர் மட்ட கர்னல் குறியீடு பயனரால் மாற்றியமைக்கப்படாத வரையறையற்ற அளவுருக்கள் இயற்றப்பட்டது. எனவே modprobe இனி கர்னல் உள்ளீட்டை நம்பாது.

modprobe சுற்றுச்சூழல் இந்த சரங்களை மட்டுமே கொண்டிருக்கும் போது தானாகவே பாதுகாப்பான முறையில் அமைக்கிறது

HOME = / TERM = linux PATH = / sbin: / usr / sbin: / bin: / usr / bin

இது கர்னலில் கர்னலில் இருந்து modprobe செயல்படுத்துவதைக் கண்டறிகிறது 2.2 என்றாலும் 2.4.0-test11, uid == euid, இது முந்தைய கர்னல்களில் செய்கிறது.

பதிவு செய்தல் கட்டளைகள்

அடைவு என்றால் / வார் / பதிவு / ksymoops மற்றும் உள்ளதுmodprobe ஒரு கட்டளையை ஏற்றுவதற்கு அல்லது ஒரு மாதிரியை நீக்கக்கூடிய ஒரு விருப்பத்துடன் இயங்குகிறது, பின்னர் Modprobe அதன் கட்டளை மற்றும் உள்ளிடுதலை மீண்டும் உள்நுழைக்கும் / var / log / ksymoops / `date +% y% m% d.log` . இந்த தானியங்கு பதிவுகளை முடக்க எந்த மாற்றமும் இல்லை, அதை நீங்கள் விரும்பவில்லை என்றால், உருவாக்க வேண்டாம் / வார் / பதிவு / ksymoops . அந்த அடைவு இருந்தால், அது ரூட் சொந்தமாக இருக்க வேண்டும் மற்றும் முறை 644 அல்லது 600 இருக்க வேண்டும் மற்றும் நீங்கள் ஸ்கிரிப்ட் இயக்க வேண்டும்insmod_ksymoops_clean ஒவ்வொரு நாளும் அல்லது.

தேவையான பயன்பாடுகள்

depmod(8), insmod(8).

முக்கியமான: பயன்படுத்த ஆண் கட்டளை ( % ஆண் ) உங்கள் குறிப்பிட்ட கணினியில் ஒரு கட்டளை எவ்வாறு பயன்படுத்தப்படுகிறது என்பதைப் பார்க்கவும்.