הכל על ה-Linux/Unix Command depmod
Depmod מטפל בתיאורי תלות לטעינה גַרעִין מודולים.
תַקצִיר
depmod [-aA] [-ehnqrsuvV] [-C configfile] [-פ סימני קרנל] [-ב ספריית בסיס] [forced_version] depmod [-enqrsuv] [-F סימני קרנל] module1.o module2.o...
תיאור
ה depmod ו modprobe כלי עזר נועדו ליצור א לינוקס ליבה מודולרית הניתנת לניהול עבור כל המשתמשים, המנהלים ומנהלי ההפצה.
Depmod יוצר קובץ תלות דמוי "Makefile", בהתבסס על הסמלים שהוא מוצא בסט המודולים המוזכרים בשורת הפקודה או מהספריות שצוינו בקובץ התצורה. קובץ תלות זה משמש מאוחר יותר על ידי modprobe לטעינה אוטומטית של המודול או ערימת המודולים הנכונים.

השימוש הרגיל של depmod הוא לכלול את השורה.
/sbin/depmod -a
איפשהו ב-rc-files ב /etc/rc.d, כך שתלויות המודול הנכונות יהיו זמינות מיד לאחר אתחול המערכת. אם אתה עובד עם הפצה מלאה יותר של תכונות, כמו אובונטו, דביאן או פדורה, זה ייעשה בשבילך. שימו לב שהאופציה -א כעת אופציונלי. למטרות אתחול, האפשרות -ש עשוי להיות מתאים יותר מכיוון שזה גורם ל-depmod לשתוק לגבי סמלים לא פתורים. אם אתה רוצה לראות בדיוק מה נוסף, השתמש ב- -v החלף כדי להפעיל את הפקודה באופן מילולי.
אפשר גם ליצור את קובץ התלות מיד לאחר הידור של קרנל חדש. אם אתה כן "depmod -a 2.2.99"כאשר הידור את הליבה 2.2.99 ואת המודולים שלו בפעם הראשונה, בעודך עדיין פועל למשל 2.2.98, הקובץ ייווצר במקום הנכון. עם זאת, במקרה זה, התלות בליבה לא תהיה מובטחת להיות נכונות. ראה את האפשרויות -פ, -C ו -ב לעיל למידע נוסף על טיפול זה.
תוך בניית הקשר בין מודולים לסמלים המיוצאים על ידי מודולים אחרים,depmod אינו מתייחס לסטטוס GPL של המודולים ולא של הסמלים המיוצאים. כלומר, depmod לא יסמן שגיאה אם מודול ללא רישיון תואם GPL מתייחס לסמל GPL בלבד (EXPORT_SYMBOL_GPL בליבה). למרות זאת, insmod יסרב לפתור סמלי GPL בלבד עבור מודולים שאינם GPL כך שהטעינה בפועל תיכשל.
אפשרויות
-א, --את כל
חפש מודולים בכל הספריות המצוינות בקובץ התצורה (אופציונלי)./etc/modules.conf.
-א, --מָהִיר
השווה חותמות זמן של קבצים ובמידת הצורך התנהג כמו depmod -a. אפשרות זו מעדכנת את קובץ התלות רק אם משהו השתנה.
-ה, --rsyms
הצג את כל הסמלים הלא פתורים עבור כל מודול.
-ח, --עֶזרָה
הצג סיכום של אפשרויות וצא מיד.
-נ, --הופעה
כתוב את קובץ התלות ב-stdout במקום ב- /lib/modules עֵץ.
-ש, --שֶׁקֶט
תגיד ל-depmod לשמור על השקט ולא להתלונן על סמלים חסרים.
-ר, --שורש
חלק מהמשתמשים מרכיבים מודולים תחת מזהה משתמש שאינו שורש, ואז מתקינים את המודולים כשורש. תהליך זה יכול להשאיר את המודולים בבעלות זיהוי המשתמש שאינו שורש, למרות שספריית המודולים נמצאת בבעלות השורש. אם מזהה המשתמש שאינו שורש נפגע, פולש יכול להחליף מודולים קיימים שבבעלות אותו משתמש זיהוי ולהשתמש בחשיפה זו כדי לאתחל עד גישת שורש.
כברירת מחדל, מודולילים ידחו ניסיונות להשתמש במודול שאינו בבעלות השורש. מפרט-ר ידכא את השגיאה ויאפשר ל-root לטעון מודולים שאינם בבעלות ה-root.
השימוש ב-r הוא חשיפה אבטחה גדולה ואינו מומלץ.
-ס, --syslog
כתוב את כל הודעות השגיאה דרך ה-syslog daemon במקום stderr.
-u, --שגיאה לא פתורה
depmod 2.4 אינו מגדיר קוד החזרה כאשר יש סמלים לא פתורים. חלק מההפצות רוצות קוד החזרה שאינו אפס במודוטילס 2.4, אבל השינוי הזה עלול לגרום לבעיות עבור משתמשים שמצפים להתנהגות הישנה. אם אתה רוצה קוד החזרה שאינו אפס ב-depmod 2.4, ציין -u. depmod 2.5 יתעלם בשקט מה -u דגל ותמיד ייתן קוד החזרה שאינו אפס עבור סמלים לא פתורים.
-v, --מִלוּלִי
הצג את השם של כל מודול תוך כדי עיבודו.
-V, --גִרְסָה
הצג את הגרסה של depmod.
ניהול הפצות
האפשרויות הבאות שימושיות לאנשים המנהלים הפצות:
-ב ספריית בסיס, --basedir ספריית בסיס
אם עץ הספריות /lib/modules המכיל את תתי העצים של המודולים מועבר למקום אחר על מנת לטפל במודולים עבור סביבה אחרת, -ב האופציה אומרת ל-depmod היכן למצוא את התמונה שהוזזה של /lib/modules עֵץ. הפניות לקובץ בקובץ הפלט של depmod שנבנה, modules.dep, לא יכיל את ספריית בסיס נָתִיב. זה אומר שכאשר עץ הקבצים מועבר אחורה basedirectory/lib/modules לְתוֹך /lib/modules בהפצה הסופית, כל ההפניות יהיו נכונות.
-C configfile, --config configfile
השתמש בקובץ configfile במקום /etc/modules.conf. משתנה הסביבה MODULECONF ניתן להשתמש גם כדי לבחור קובץ תצורה שונה מברירת המחדל /etc/modules.conf (אוֹ/etc/conf.modules (הוצא משימוש)).
כאשר משתנה סביבה UNAME_MACHINE מוגדר, מודוטילס ישתמש בערך שלו במקום בשדה המכונה מה- syscall uname(). זה שימושי בעיקר כאשר אתה מרכיב מודולים של 64 סיביות במרחב משתמש של 32 סיביות או להיפך, הגדר UNAME_MACHINE לסוג המודולים הנבנים. מודולים נוכחיים אינם תומכים במצב צלב בנייה מלא עבור מודולים, הוא מוגבל לבחירה בין גרסאות 32 ו-64 סיביות של ארכיטקטורת המארח.
-F סימני גרעין,--סימני קבצים סימני קרנל
כאשר בונים קבצי תלות עבור ליבה שונה מהקרנל הפועל כעת, חשוב ש depmod משתמש בקבוצה הנכונה של סמלי הליבה כדי לפתור את הפניות הליבה בכל מודול. סמלים אלה יכולים להיות עותק של מפת מערכת מהקרנל השני או עותק של הפלט מ /proc/ksyms. אם הליבה שלך משתמשת בסמלים עם גרסאות, עדיף להשתמש בעותק של /proc/ksyms פלט, מכיוון שהקובץ הזה מכיל את גרסאות הסמלים של סמלי הקרנל. עם זאת, אתה יכול להשתמש ב-a מפת מערכת אפילו עם סמלים בגרסה.
תְצוּרָה
ההתנהגות של depmod ו modprobe ניתן להתאים על ידי קובץ התצורה (אופציונלי)./etc/modules.conf. לִרְאוֹת modprobe(8) ו modules.conf(5) לתיאור מלא.
אִסטרָטֶגִיָה
בכל פעם שאתה קומפלור ליבה חדשה, הפקודה "בצע מודולים_התקנה" תיצור ספרייה חדשה, אך לא ישנה את ברירת המחדל.
כאשר אתה מקבל מודול שאינו קשור להפצת הליבה, עליך למקם אותו באחת מהספריות הבלתי תלויות בגרסה תחת /lib/modules.
זוהי אסטרטגיית ברירת המחדל, שניתן לעקוף אותה /etc/modules.conf.
להשתמש ב אישפקודה (% איש) כדי לראות כיצד נעשה שימוש בפקודה במחשב הספציפי שלך.