Skip to main content

అన్ని Linux / Unix కమాండ్ గురించి: modprobe

Anonim

పేరు

modprobe - లోడ్ మాడ్యూల్స్ యొక్క అధిక స్థాయి నిర్వహణ

సంక్షిప్తముగా

modprobe -dnqv -C config మాడ్యూల్ చిహ్నం = విలువ …modprobe -dnqv -C config -t రకం నమూనాmodprobe -l -C config -t రకం నమూనాmodprobe -c -C config modprobe -r -dnv -C config మాడ్యూల్ …modprobe -Vh

ఎంపికలు

-a, --all

లోడ్అన్ని సరిపోలే గుణకాలు బదులుగా మొదటి విజయవంతమైన లోడ్ తర్వాత ఆపటం.

-c, --showconfig

ప్రస్తుతం ఉపయోగించిన ఆకృతీకరణను చూపుము.

-C, --config config

ఫైల్ను ఉపయోగించండి config బదులుగా (ఐచ్ఛిక) /etc/modules.conf ఆకృతీకరణను తెలుపుటకు. ఎన్విరాన్మెంట్ వేరియబుల్MODULECONF డిఫాల్ట్ /etc/modules.conf నుండి వేరే ఆకృతీకరణ ఫైలుని (మరియు భర్తీ) ఎంచుకోవడానికి కూడా ఉపయోగించవచ్చు /etc/conf.modules (గడువు ముగిసింది)).

ఎన్విరాన్మెంట్ వేరియబుల్UNAME_MACHINE సెట్ చేయబడుతుంది, మాడిటిల్స్ దాని పేరును uname () syscall నుండి యంత్ర క్షేత్రానికి బదులుగా ఉపయోగిస్తుంది. 32 బిట్ యూజర్ స్పేస్ లేదా ఇదే విధంగా విరుద్ధంగా, 64 బిట్ మాడ్యూల్స్ కంపైల్ చేస్తున్నప్పుడు ఇది ప్రధానంగా ఉపయోగపడుతుందిUNAME_MACHINE మాడ్యూల్స్ రకానికి. ప్రస్తుత మాడ్యుటల్స్ గుణకాలు కోసం పూర్తి క్రాస్ బిల్డ్ మోడ్కు మద్దతివ్వదు, హోస్ట్ ఆర్కిటెక్చర్ యొక్క 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.

గమనిక:

మాడ్యూల్ పేర్లలో పాడ్లు (సంఖ్య '/') ఉండకూడదు, లేదా వారు '.o' వెనుకంజ వేయవచ్చు. ఉదాహరణకు, స్లిప్ చెల్లుబాటు అయ్యే మాడ్యూల్ పేరుmodprobe, /lib/modules/2.2.19/net/slip మరియు slip.o చెల్లవు. ఇది ఆదేశ పంక్తికి మరియు కాన్ఫిగరేషన్లో ఎంట్రీలకు వర్తిస్తుంది.

కమాండ్ వివరణ

దిmodprobe మరియుdepmod అన్ని వినియోగదారులు, నిర్వాహకులు మరియు పంపిణీదారుల కోసం లినక్స్ మాడ్యులర్ కెర్నల్ మరింత నిర్వహించదగిన ఉద్దేశ్యంతో వినియోగించబడతాయి.

modprobe ఒక "Makefile" - ఆధారిత డిపెండెన్సీ ఫైలును ఉపయోగించి, సృష్టించిందిdepmod, ముందే నిర్వచించిన డైరెక్టరీ చెట్లు అందుబాటులో గుణకాలు సెట్ నుండి సంబంధిత మాడ్యూల్ (లు) స్వయంచాలకంగా లోడ్ చేయడానికి.

modprobe ఒక మాడ్యూల్, ఆధారపడిన గుణకాలు, లేదా పేర్కొన్న ట్యాగ్తో గుర్తించబడిన అన్ని గుణకాలు లోడ్ చేయడానికి ఉపయోగిస్తారు.

modprobe డిపెండెన్సీ ఫైలుచే వివరించిన విధంగా మాడ్యూల్ స్టాక్లో అవసరమైన అన్ని బేస్ గుణకాలు స్వయంచాలకంగా లోడ్ అవుతాయి modules.dep . ఈ మాడ్యూల్లలో ఒకదాన్ని లోడ్ చేయడం విఫలమైతే, ప్రస్తుత సెషన్లో లోడ్ చేయబడిన మొత్తం ప్రస్తుత స్టాక్ మాడ్యూల్ ఆటోమేటిక్ గా అన్లోడ్ అవుతుంది.

modprobe గుణకాలు లోడ్ చేయటానికి రెండు మార్గాలున్నాయి. ఒక మార్గం (ప్రోబ్ మోడ్) జాబితా నుండి ఒక మాడ్యూల్ను లోడ్ చేయటానికి ప్రయత్నిస్తుంది (నిర్వచించినది నమూనా ). modprobe ఒక మాడ్యూల్ ని విజయవంతంగా లాగుతున్న వెంటనే లాగుతుంది. జాబితా నుండి ఒక ఈథర్నెట్ డ్రైవర్ను ఆటోలోడ్ చేయడానికి ఇది ఉపయోగించవచ్చు. ఇతర మార్గంmodprobe ఉపయోగించవచ్చు లోడ్ చేయడమేఅన్ని జాబితా నుండి మాడ్యూల్స్. చూడండిఉదాహరణలు, క్రింద.

ఎంపికతో-r, modprobe స్వయంచాలకంగా గుణకాలు ఒక స్టాక్ దించుతుంది, మార్గం పోలి "rmmod -r"కేవలం"modprobe - ఆర్"ఉపయోగించని autoloaded మాడ్యూళ్ళను శుభ్రం చేస్తుంది మరియు ఆకృతీకరణ ఫైలునందు ముందు మరియు తరువాత తొలగించు ఆదేశాలను కూడా చేస్తాయి /etc/modules.conf .

ఎంపికలు కలపడం-l మరియు-t ఒక నిర్దిష్ట రకానికి చెందిన అన్ని మాడ్యూళ్ళను జాబితా చేస్తుంది.

ఎంపిక-c ప్రస్తుతం ఉపయోగించిన ఆకృతీకరణ (డిఫాల్ట్ + ఆకృతీకరణ ఫైలు) ముద్రిస్తుంది.

ఆకృతీకరణ

ప్రవర్తనmodprobe (మరియుdepmod) (ఐచ్ఛిక) కాన్ఫిగరేషన్ ఫైల్ ద్వారా సవరించవచ్చు /etc/modules.conf . ఈ ఫైల్ను కలిగి ఉన్నదానికి మరింత వివరణాత్మక వర్ణన కోసం, అలాగే ఉపయోగించిన అప్రమేయ ఆకృతీకరణdepmod మరియుmodprobe, చూడండిmodules.conf(5).

ముందు మరియు పోస్ట్-తొలగింపు ఆదేశాలను గమనించండికాదు ఒక మాడ్యూల్ kerneld ద్వారా "autocleaned" ఉంటే అమలు! బదులుగా నిరంతర మాడ్యూల్ నిల్వ కొరకు వస్తున్న మద్దతు కొరకు చూడండి. మీరు ప్రీ-మరియు-పోస్ట్-స్టాప్ ఫీచర్లు ఉపయోగించాలనుకుంటే, మీరు కెర్నెల్డ్ కొరకు ఆటోక్లీన్ ను ఆపివేయాలి మరియు బదులుగా మీcrontab (ఇది కిమోడ్ వ్యవస్థలకు కూడా ఉపయోగించబడుతుంది) ప్రతి 2 నిమిషాల్లో ఆటోక్లీన్ చేయటానికి: * / 2 * * * test -f / proc / modules && / sbin / modprobe -r

వ్యూహం

ఆలోచన ఇదిmodprobe కెర్నల్ యొక్క ప్రస్తుత విడుదలకు సంకలనం చేయబడిన మాడ్యూళ్ళను డైరెక్టరీలో మొదట చూస్తుంది. మాడ్యూల్ అక్కడ కనిపించకపోతే,modprobe డైరెక్టరీలో కెర్నెల్ సంస్కరణకు ఉమ్మడిగా కనిపిస్తాయి (ఉదా. 2.0, 2.2). మాడ్యూల్ ఇప్పటికీ కనుగొనబడితే,modprobe డిఫాల్ట్ విడుదలకు గుణకాలు కలిగి డైరెక్టరీలో కనిపిస్తుంది, మరియు అందువలన న.

మీరు కొత్త లైనక్స్ను సంస్థాపించునప్పుడు, మీరు సంస్థాపించిన కెర్నల్ యొక్క విడుదల (మరియు సంస్కరణ) కు సంబంధించిన డైరెక్టరీకి మాడ్యూల్ను తరలించాలి. అప్పుడు మీరు ఈ డైరెక్టరీ నుండి "డిఫాల్ట్" డైరెక్టరీకి సింప్లింక్ చేయాలి.

ప్రతిసారి మీరు కొత్త కెర్నల్ను కంపైల్ చేస్తే, కమాండ్ "modules_install ను తయారు చేయండి"కొత్త డైరెక్టరీని సృష్టిస్తుంది, కానీ" డిఫాల్ట్ "లింక్ను మార్చదు.

మీరు కెర్నల్ పంపిణీకి సంబంధంలేని ఒక మాడ్యూల్ ను పొందినప్పుడు, దానిలో వర్షన్-స్వతంత్ర డైరెక్టరీలలో ఒకదానిలో వుంచాలి / Lib / గుణకాలు .

ఇది డిఫాల్ట్ వ్యూహం, దీనిని ఓవర్రీడ్ చెయ్యవచ్చు /etc/modules.conf .

ఉదాహరణలు

modprobe -t net

డైరెక్టరీలో "నెట్" ట్యాగ్లో నిల్వ చేయబడిన గుణకాలలో ఒకదాన్ని లోడ్ చేయండి. ఒక సఫలమైతే ప్రతి మాడ్యూల్ ప్రయత్నిస్తుంది.

modprobe -a -t బూట్

డైరెక్టరీలో నిల్వ చేయబడిన అన్ని మాడ్యూల్స్ "బూట్" ని లోడ్ చేయబడతాయి.

modprobe స్లిప్

స్లిప్ మాడ్యూల్ slhc మాడ్యూల్ లో క్రియాశీలత కావాలి కాబట్టి ఇది ముందుగా లోడ్ చేయకపోతే మాడ్యూల్ slhc.o ను లోడ్ చేయుటకు ప్రయత్నిస్తుంది. ఈ డిపెండెన్సీ ఫైలులో వివరించబడుతుంది modules.dep అది స్వయంచాలకంగా సృష్టించబడిందిdepmod.

modprobe -r స్లిప్

ఇది స్లిప్ మాడ్యూల్ను అన్లోడ్ చేస్తుంది. ఇది కొన్ని ఇతర మాడ్యూల్ (ఉదా. Ppp) చేత ఉపయోగించకపోతే, అది స్వయంచాలకంగా slhc మాడ్యూల్ను స్వయంచాలకంగా అన్లోడ్ చేస్తుంది.

ఇది కూడ చూడు:

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

సురక్షిత విధానము

సమర్థవంతమైన UID నిజ UID కు సమానంగా ఉండకపోతేmodprobe తీవ్రమైన అనుమానంతో దాని ఇన్పుట్ను పరిగణిస్తుంది. చివరి పారామితి ఎల్లప్పుడూ మాడ్యూల్ పేరుగా పరిగణించబడుతుంది, ఇది '-' తో ప్రారంభమైనప్పటికీ. కేవలం ఒక మాడ్యూల్ పేరు మాత్రమే మరియు "వేరియబుల్ = విలువ" యొక్క ఆప్షన్లు నిషేధించబడ్డాయి. మాడ్యూల్ పేరును ఎల్లప్పుడూ ఒక స్ట్రింగ్గా పరిగణిస్తారు, సురక్షిత మోడ్లో ఏ మెటా విస్తరణ చేయబడదు. అయితే మెటా విస్తరణ ఇప్పటికీ config ఫైలు నుండి చదివే డేటాకు వర్తించబడుతుంది.

కెర్నెల్ నుండి modprobe ప్రారంభించబడినప్పుడు యిడ్ కు సమానంగా ఉండరాదు, కెర్నలు> = 2.4.0-test11 కు ఇది వర్తిస్తుంది. ఆదర్శ ప్రపంచం లో,modprobe modprobe కు చెల్లుబాటు అయ్యే పారామితులను మాత్రమే కెర్నల్ను నమ్మగలదు. అయితే ఒక స్థానిక రూట్ దోపిడీ సంభవించింది, ఎందుకంటే అధిక స్థాయి కెర్నెల్ కోడ్ యూజర్ నుండి modform కు నేరుగా ధృవీకరించని పారామీటర్లను ఆమోదించింది. కాబట్టి modprobe ఇకపై కెర్నల్ ఇన్పుట్ను ట్రస్ట్స్ చేయదు.

modprobe వాతావరణంలో ఈ తీగలను మాత్రమే కలిగి ఉన్నప్పుడు స్వయంచాలకంగా సురక్షిత మోడ్ను సెట్ చేస్తుంది

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

ఇది కెర్నలులో కెర్నెల్ నుండి 2.2 ను 2.4.0-test11 ను modprobe అమలును గుర్తించింది, అది UID == euid అయినప్పటికీ అది మునుపటి కెర్నలులలో చేస్తుంది.

లాగింగ్ ఆదేశాలు

డైరెక్టరీ ఉంటే / Var / log / ksymoops ఉంది మరియుmodprobe ఒక మాడ్యూల్ లోడ్ చేయగల లేదా ఒక మాడ్యూల్ను తొలగించే ఒక ఎంపికతో అమలు అవుతుంది, అప్పుడు modprobe దాని ఆదేశం మరియు రిటర్న్ స్థితిని లాగిన్ చేస్తుంది / var / log / ksymoops / `date +% y% m% d.log` . ఈ ఆటోమేటిక్ లాగింగ్ను నిలిపివేయడానికి ఏ స్విచ్ లేదు, మీరు సంభవించకూడదనుకుంటే, సృష్టించవద్దు / Var / log / ksymoops . ఆ డైరెక్టరీ ఉన్నట్లయితే, అది రూట్ ద్వారా స్వంతం అయి 644 లేదా 600 మోడ్ అయి ఉండాలి మరియు మీరు స్క్రిప్ట్ని అమలు చేయాలిinsmod_ksymoops_clean ప్రతి రోజు లేదా.

అవసరమైన యుటిలిటీస్

depmod(8), insmod(8).

ముఖ్యమైన: ఉపయోగించడానికి మనిషి కమాండ్ ( % మనిషి ) మీ కంప్యుటర్లో ఎలా ఉపయోగించాలో చూడడానికి.