Skip to main content

הכל על לינוקס / פיקוד יוניקס: modprobe

ניהול חברתי בקוד פתוח- הקץ לפוליטיקה? (bettermeans" intro") (יוני 2026)

ניהול חברתי בקוד פתוח- הקץ לפוליטיקה? (bettermeans" intro") (יוני 2026)
Anonim

שם

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

תקציר

modprobe -adnqv -C config מודול סמל = ערך …modprobe -adnqv -C config -t הקלד דפוסmodprobe -l -C config -t הקלד דפוסmodprobe -C C config modprobe -R -dnv -C config מודול …modprobe

אפשרויות

- א, --את כל

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

, -

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

-C, - קונפיג config

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

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

ד, --debug

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

-h, - עזרה

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

-k, --ניקוי אוטומטי

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

-L, --רשימה

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

-n, - תראה

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

-q, שקט -

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

-r, --remove

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

- s, --syslog

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

-t מודול ; - סוג מודול

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

-v, -

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

-V, - גרסה

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

הערה:

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

תיאור הפיקוד

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

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

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

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

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

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

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

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

תצורה

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

שים לב שהפקודות לפני ואחרי ההעברה יהיולא להתבצע אם מודול הוא "autocleaned" על ידי kerneld! חפש את התמיכה המתקרבת עבור אחסון מודול מתמשך במקום זאת. אם אתה רוצה להשתמש בתכונות לפני ואחרי ההתקנה, תצטרך לכבות autoclean עבור kerneld ובמקום לשים משהו כמו השורה הבאה שלךcrontab (זה משמש גם עבור מערכות kmod) לעשות autoclean כל 2 דקות: * / 2 * * * * test-f / proc / מודולים && / sbin / modprobe -r

אסטרטגיה

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

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

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

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

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

דוגמאות

modprobe-net

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

modprobe-a-boot

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

להחליק modprobe

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

modprobe - להחליק

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

ראה גם:

depmod (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%% d.log` . אין לעבור כדי להשבית את רישום אוטומטי זה, אם אתה לא רוצה שזה יקרה, לא ליצור / var / log / ksymoops . אם ספריה זו קיימת, היא צריכה להיות בבעלות השורש ולהיות במצב 644 או 600 ואתה צריך להפעיל סקריפטתרגיל כל יום.

כלי עזר דרושים

דפמוד(8), insmod(8).

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