פיקוד פיקוד לינוקס

שֵׁם

טיפול ברמה גבוהה של מודולים נטענים

תַקצִיר

modprobe [-adnqv] [-C config ] מודול [סמל = ערך ...]
modprobe [-adnqv] [-C תצורה ] [-t type ] דפוס
modprobe -l [-C תצורה ] [-t type ] דפוס
modprobe -c [-C config ]
modprobe -r [-dnv] [-C config ] [מודול ...]
modprobe- Vh

אפשרויות

-A , -

טען את כל המודולים התואמים במקום לעצור אחרי הטעינה המוצלחת הראשונה.

-c , - Showconfig

הצג את התצורה הנוכחית.

-C , - config config

השתמש בתצורת הקובץ במקום (אופציונלי) /etc/modules.conf כדי לציין את התצורה. משתנה הסביבה MODULECONF יכול לשמש גם כדי לבחור (או לעקוף) קובץ תצורה שונה מתוך ברירת המחדל /etc/modules.conf (או /etc/conf.modules (הוצא משימוש).

כאשר משתנה הסביבה UNAME_MACHINE מוגדר, modutils ישתמש הערך שלו במקום שדה המכונה מן syscall uname (). זה בעיקר בשימוש כאשר אתה קומפילציה 64 סיביות מודולים 32 סיביות שטח המשתמש או להיפך, להגדיר UNAME_MACHINE לסוג המודולים. Modutils הנוכחי אינו תומך במצב מלא לחצות לבנות עבור מודולים, זה מוגבל לבחירת בין 32 ו 64 סיביות של הארכיטקטורה המארחת.

-d ,

הצג מידע על הייצוג הפנימי של ערימת המודולים.

-h , - עזרה

הצגת סיכום של אפשרויות ולצאת מייד.

-k , - autoclean

הגדר 'autoclean' על מודולים נטענים. משמש את הקרנל כאשר הוא קורא על modprobe כדי לספק תכונה חסרה (מסופק כמודול). האפשרות -q משתמעת מ - k . אפשרויות אלה יישלחו באופן אוטומטי ל- insmod .

-L , --list

מודולי התאמת רשימה.

-n , --show

לא ממש לבצע את הפעולה, רק להראות מה ייעשה.

-q , - שקט

אל תתלוננו על אי-התקנה של מודול. המשך כרגיל, אבל בשקט, עם אפשרויות אחרות עבור modprobe כדי לבדוק. אפשרות זו תישלח אוטומטית ל- insmod .

-r , --remove

הסר מודול (ערימות) או לעשות autoclean, תלוי אם יש מודולים שהוזכרו על שורת הפקודה.

-s , - syslog

דווח באמצעות syslog במקום stderr. אפשרויות אלה יישלחו אוטומטית ל- insmod .

מודולטי ; - typetype סוג

רק לשקול מודולים מסוג זה. modprobe רק להסתכל על מודולים אשר נתיב הספרייה כוללת בדיוק " / moduletype / ". moduletype יכול לכלול יותר מ שם ספריה אחת, למשל "- נהגים / נטו " יהיה רשימה מודולים ב- xxx / Drivers / net / ותיקיות המשנה שלה.

-v , --verbose

הדפס את כל הפקודות בעת ביצוען.

-V, - גרסה

להציג את הגירסה של modprobe .

הערה:

שמות המודולים אינם יכולים להכיל נתיבים (לא '/'), והם אינם מכילים את ה- oo. לדוגמה, slip הוא שם מודול חוקי עבור modprobe , /lib/modules/2.2.19/net/slip ו- slip.o אינם חוקיים. זה חל על שורת הפקודה ועל ערכי הקונפיגורציה.

תיאור

את modprobe ו depmod כלי עזר נועדו להפוך לינוקס מודולרי לינוקס יותר לניהול לכל המשתמשים, מנהלי ומתחלקים הפצה.

Modprobe משתמש בקובץ תלות דמוי Makefile, שנוצר על ידי depmod , כדי לטעון באופן אוטומטי את המודולים הרלוונטיים ממערכת המודולים הזמינים בעצי ספריות מוגדרים מראש.

Modprobe משמש לטעינת מודול יחיד, ערימת מודולים תלויים או כל המודולים המסומנים בתג שצוין.

Modprobe יטען באופן אוטומטי את כל המודולים הבסיסיים הדרושים בערימת מודול, כפי שמתואר על ידי modules.dep של קובץ התלות. אם הטעינה של אחד מהמודולים הללו נכשלת, כל ערימת המודולים הנוכחית שטענת במושב הנוכחי תיטען באופן אוטומטי.

Modprobe יש שתי דרכים של טעינת מודולים. אחת הדרכים (מצב בדיקה) ינסה לטעון מודול מתוך רשימה (מוגדרת על ידי דפוס ). Modprobe מפסיק לטעון ברגע שמודול אחד נטען בהצלחה. זה יכול לשמש autoload אחד הנהג Ethernet מתוך רשימה.
הדרך האחרת modprobe ניתן להשתמש היא לטעון את כל המודולים מתוך רשימה. ראה דוגמאות , להלן.

עם אפשרות -r , modprobe באופן אוטומטי לפרוק ערימה של מודולים, בדומה לדרך " rmmod -r " עושה. שים לב כי רק באמצעות " modprobe-r " ינקה מודולים autoloaded שאינם בשימוש וגם לבצע את הפקודה מראש ולאחר להסיר פקודות בקובץ התצורה / etc /modules.conf .

שילוב האפשרויות -l ו- t מפרט את כל המודולים הזמינים מסוג מסוים.

אפשרות -c תדפיס את התצורה הנוכחית (ברירת מחדל + קובץ תצורה).

תְצוּרָה

ההתנהגות של modprobe (ו- depmod ) ניתנת לשינוי על-ידי קובץ התצורה (אופציונלי) /etc/modules.conf .
לקבלת תיאור מפורט יותר של מה הקובץ הזה יכול להכיל, כמו גם את תצורת ברירת המחדל בשימוש על ידי depmod ו modprobe , ראה modules.conf (5).

שים לב כי פקודות לפני ואחרי הסרת לא יבוצע אם מודול הוא "autocleeded" על ידי kerneld! חפש את התמיכה המתקרבת עבור אחסון מודול מתמשך במקום זאת.
אם אתה רוצה להשתמש בתכונות לפני ואחרי ההתקנה, תצטרך לכבות autoclean עבור kerneld ובמקום לשים משהו כמו השורה הבאה crontab שלך (זה משמש גם עבור מערכות kmod) לעשות autoclean כל 2 דקות You

* / * * * * * Test -f / proc / modules && / sbin / modprobe -r

אִסטרָטֶגִיָה

הרעיון הוא modprobe ייראה הראשון במדריך המכיל מודולים הידור עבור המהדורה הנוכחית של הקרנל. אם המודול לא נמצא שם, modprobe ייראה בספרייה המשותפת לגרסת הליבה (לדוגמה, 2.0, 2.2). אם המודול נמצא עדיין, modprobe ייראה בספריה המכילה מודולים עבור שחרור ברירת מחדל, וכן הלאה.

כאשר אתה מתקין לינוקס חדש, המודולים צריכים להיות מועברים לספרייה הקשורה לשחרור (וגרסה) של הקרנל שאתה מתקין. אז אתה צריך לעשות קישור מסרגל זה לספרייה "ברירת המחדל".

בכל פעם שאתה לקמפל ליבה חדשה, הפקודה " לעשות modules_install " תיצור ספרייה חדשה, אבל לא תשנה את הקישור "ברירת המחדל".

כאשר אתה מקבל מודול שאינו קשור הפצה הליבה אתה צריך למקם אותו באחד הספריות עצמאית גירסה תחת / lib / מודולים .

זוהי אסטרטגיית ברירת המחדל, אשר ניתן לדרוס ב / etc / modules.conf .

דוגמאות

modprobe-net

טען אחד המודולים המאוחסנים במדריך מתויג "נטו". כל מודול מתבצע עד שאחד מצליח.

modprobe-a-boot

כל המודולים המאוחסנים בספריות מתויגות "אתחול" ייטענו.

להחליק modprobe

זה ינסה לטעון את המודול slhc.o אם הוא לא טעון בעבר, שכן מודול להחליק צריך את הפונקציונליות של מודול slhc. תלות זו תתואר ב modules.dep הקובץ שנוצר באופן אוטומטי על ידי depmod .

modprobe - להחליק

זה יהיה לפרוק את מודול להחליק. זה יהיה גם לפרוק את מודול slhc באופן אוטומטי, אלא אם כן הוא משמש על ידי מודול אחר גם כן (למשל ppp).

ראה גם

(8), lsmod (8), kerneld (8), ksyms (8), rmod (8).

מצב בטוח

אם ה- uid היעיל אינו שווה ל- uid האמיתי אז modprobe מתייחס קלט עם חשד קיצוני. הפרמטר האחרון מטופל תמיד כשם מודול, גם אם הוא מתחיל עם '-'. יכול להיות רק שם מודול אחד ואפשרויות של הטופס "value = value" אסורים. שם המודול מטופל תמיד כמחרוזת, לא מתבצעת הרחבה של מטא במצב בטוח. עם זאת, הרחבת מטא עדיין מוחלת על נתונים שנקראו מקובץ התצורה.

euid לא יכול להיות שווה ל UID כאשר modprobe הוא מופעל מן הקרנל, זה נכון עבור גרעינים> = 2.4.0-test11. בעולם אידיאלי, modprobe יכול לסמוך על הקרנל רק לעבור פרמטרים חוקיים modprobe. עם זאת, לפחות ניצול שורש מקומי אחד התרחש משום שקוד ליבה ברמה גבוהה עבר פרמטרים לא מאומתים ישירות מהמשתמש ל- modprobe. אז modprobe כבר לא סומך קלט הליבה.

modprobe קובע באופן אוטומטי מצב בטוח כאשר הסביבה מורכבת רק מחרוזות אלה

HOME = / TERM = לינוקס PATH = / sbin: / usr / sbin: / bin: / usr / bin

זה מזהה את הביצועים modprobe מן הקרנל על גרעיני 2.2 למרות 2.4.0-test11, גם אם uid == euid, אשר עושה את זה על גרעינים קודמים.

פקודות רישום

אם הספריה / var / log / ksymoops קיימת ו- modprobe מופעל עם אפשרות שיכולה לטעון או למחוק מודול ואז modprobe יתחבר למצב פקודה וחזרה ב / var / log / ksymoops / `תאריך +% Y% m% d .log . אין לעבור כדי לבטל את רישום אוטומטי זה, אם אתה לא רוצה שזה יקרה, לא ליצור / var / log / ksymoops . אם ספריה זו קיימת, היא צריכה להיות בבעלות השורש ולהיות במצב 644 או 600 ואתה צריך להפעיל את התסריט insmod_ksymoops_clean כל יום או כך.

דרושים

(8), אינץ (8).

חשוב: השתמש בפקודת הגבר ( % man ) כדי לראות כיצד נעשה שימוש בפקודה במחשב הספציפי שלך.