MODPROBE(8)

الاسم

مودبروب - إضافة وإزالة الوحدات من نواة لينكس

موجز

modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-b] [modulename]
         [module parameters...]

modprobe [-r] [-v] [-n] [-i] [اسم-الوحدة...]

modprobe [-c]

modprobe [--dump-modversions] [اسم-الملف]

الوصف

modprobe يضيف أو يزيل وحدة من نواة لينكس بذكاء: لاحظ أنه للراحة، لا يوجد فرق بين _ و - في أسماء الوحدات (يتم تحويل الشرطة السفلية آليًا). يبحث modprobe في دليل الوحدات /usr/lib/`uname -r` عن جميع الوحدات والملفات الأخرى، باستثناء ملفات الإعدادات الاختيارية (انظر modprobe.d(5)). يستخدم modprobe أيضًا خيارات الوحدة المحددة في سطر أوامر النواة بصيغة <الوحدة>.<الخيار> والقوائم السوداء بصيغة modprobe.blacklist=<الوحدة>.

لاحظ أنه على عكس نواة لينكس من سلسلة 2.4 (التي لا تدعمها هذه الأداة)، لا يقوم هذا الإصدار من modprobe بأي شيء للوحدة نفسها: يتم عمل حل الرموز وفهم الوسائط داخل النواة. لذا يصاحب فشل الوحدة أحيانًا رسالة من النواة: انظر dmesg(8).

يتوقع modprobe ملف modules.dep.bin محدثًا كما يولده الأداة المساعدة depmod المرفقة مع modprobe (انظر depmod(8)). يسرد هذا الملف ما تحتاجه كل وحدة من وحدات أخرى (إن وجدت)، ويستخدم modprobe هذا لإضافة أو إزالة هذه التبعيات آليًا.

إذا أعطيت أي وسائط بعد اسم-الوحدة، فإنها تُمرر إلى النواة (بالإضافة إلى أي خيارات مدرجة في ملف الإعدادات).

عند تحميل الوحدات، يمكن أن يكون اسم-الوحدة أيضًا مسارًا للوحدة. إذا كان المسار نسبيًا، يجب أن يبدأ صراحةً بـ "./". لاحظ أن هذا قد يفشل عند استخدام مسار لوحدة ذات تبعيات لا تطابق قاعدة بيانات depmod المثبتة.

الخيارات

-a، --all
    أدخل جميع أسماء الوحدات في سطر الأوامر.

-b, --use-blacklist
    يتسبب هذا الخيار في تطبيق modprobe لأوامر blacklist في ملفات الإعدادات (إن وجدت) على أسماء الوحدات أيضًا. يُستخدم عادةً بواسطة udev(7).

-C دليل, --config=دليل
    يتجاوز هذا الخيار دليل الإعدادات المبدئي. انظر modprobe.d(5).

    يُمرر هذا الخيار عبر أوامر install أو remove إلى أوامر modprobe الأخرى في متغير البيئة MODPROBE_OPTIONS.

-c, --showconfig
    أفرغ الإعدادات الفعلية من دليل الإعدادات واخرج.

--dump-modversions
    اطبع قائمة بمعلومات إصدارات الوحدة المطلوبة بواسطة وحدة. يُستخدم هذا الخيار عادةً من قبل التوزيعات لتجميع وحدة نواة لينكس باستخدام تبعيات إصدارات الوحدة.

-d، --dirname
    الدليل الجذر للوحدات، / مبدئيًا.

--first-time
    عادةً، سينجح modprobe (ولا يفعل شيئًا) إذا أُمر بإدراج وحدة موجودة بالفعل أو إزالة وحدة غير موجودة. هذا مثالي للنصوص البسيطة؛ ومع ذلك، غالبًا ما تريد النصوص الأكثر تعقيدًا معرفة ما إذا كان modprobe قد فعل شيئًا بالفعل: هذا الخيار يجعل modprobe يفشل في حالة أنه لم يفعل شيئًا بالفعل.

--force-vermagic
    تحتوي كل وحدة على سلسلة صغيرة تحتوي على معلومات مهمة، مثل إصدارات النواة والمترجم. إذا فشلت وحدة في التحميل واشتكت النواة من أن "سحر الإصدار" غير متطابق، يمكنك استخدام هذا الخيار لإزالته. بطبيعة الحال، هذا الفحص موجود لحمايتك، لذا فإن استخدام هذا الخيار خطير إلا إذا كنت تعرف ما تفعله.

    ينطبق هذا على أي وحدات مُدرجة: كل من الوحدة (أو الاسم المستعار) في سطر الأوامر وأي وحدات تعتمد عليها.

--force-modversion
    عندما تُجمّع الوحدات مع تعيين CONFIG_MODVERSIONS، يُنشأ قسم يفصل إصدارات كل واجهة مستخدمة بواسطة (أو مزودة بواسطة) الوحدة. إذا فشلت وحدة في التحميل واشتكت النواة من أن الوحدة لا توافق على إصدار واجهة ما، يمكنك استخدام --force-modversion لإزالة معلومات الإصدار بالكامل. بطبيعة الحال، هذا الفحص موجود لحمايتك، لذا فإن استخدام هذا الخيار خطير إلا إذا كنت تعرف ما تفعله.

    ينطبق هذا على أي وحدات مُدرجة: كل من الوحدة (أو الاسم المستعار) في سطر الأوامر وأي وحدات تعتمد عليها.

-f، --force
    حاول إزالة أي معلومات إصدار من الوحدة قد تمنعها من التحميل: هذا مماثل لاستخدام كل من --force-vermagic و --force-modversion. بطبيعة الحال، هذه الفحوصات موجودة لحمايتك، لذا فإن استخدام هذا الخيار خطير إلا إذا كنت تعرف ما تفعله.

    ينطبق هذا على أي وحدات مُدرجة: كل من الوحدة (أو الاسم المستعار) في سطر الأوامر وأي وحدات تعتمد عليها.

-i، --ignore-install، --ignore-remove
    يتسبب هذا الخيار في تجاهل modprobe لأوامر install و remove في ملف الإعدادات (إن وجد) للوحدة المحددة في سطر الأوامر (أي وحدات تابعة لا تزال خاضعة للأوامر المحددة لها في ملف الإعدادات). سيتم تجاهل كل من أوامر install و remove حاليًا عند استخدام هذا الخيار بغض النظر عما إذا كان الطلب قد تم بشكل أكثر تحديدًا باستخدام واحد فقط أو الآخر (وليس كلاهما) من --ignore-install أو --ignore-remove. انظر modprobe.d(5).

-n، --dry-run، --show
    يقوم هذا الخيار بكل شيء عدا إدراج أو حذف الوحدات فعليًا (أو تشغيل أوامر التثبيت أو الإزالة). عند دمجه مع -v، يكون مفيدًا لتصحيح المشكلات. لأسباب تاريخية، يعني كل من --dry-run و --show نفس الشيء وهما قابلان للتبادل.

-q، --quiet
    مع هذه العلامة، لن يطبع modprobe رسالة خطأ إذا حاولت إزالة أو إدراج وحدة لا يمكنه العثور عليها (وليست اسمًا مستعارًا أو أمر install/remove). ومع ذلك، سيظل يعود بحالة خروج غير صفرية. تستخدم النواة هذا لاستكشاف الوحدات التي قد تكون موجودة بشكل انتهازي باستخدام request_module.

-R، --resolve-alias
    اطبع جميع أسماء الوحدات المطابقة لاسم مستعار. يمكن أن يكون هذا مفيدًا لتصحيح مشكلات الأسماء المستعارة للوحدات.

-r، --remove
    يتسبب هذا الخيار في قيام modprobe بإزالة وحدة بدلاً من إدراجها. إذا كانت الوحدات التي تعتمد عليها غير مستخدمة أيضًا، سيحاول modprobe إزالتها أيضًا. على عكس الإدراج، يمكن تحديد أكثر من وحدة في سطر الأوامر (لا معنى لتحديد معلمات الوحدة عند إزالة الوحدات).

    عادةً لا يوجد سبب لإزالة الوحدات، لكن بعض الوحدات المعطوبة تتطلب ذلك. قد لا يكون نواة توزيعتك قد بُنيت لدعم إزالة الوحدات على الإطلاق.

-w TIMEOUT_MSEC, --wait=TIMEOUT_MSEC
    يتسبب هذا الخيار في استمرار modprobe -r في محاولة إزالة وحدة إذا فشلت بسبب كون الوحدة مشغولة، أي أن عدد مراجعها ليس 0 وقت إجراء الاستدعاء. يحاول Modprobe إزالة الوحدة بوقت سكون متزايد بين كل محاولة حتى أقصى وقت انتظار بالمللي ثانية الممرر في هذا الخيار.

-S version, --set-version=version
    اضبط إصدار النواة، بدلاً من استخدام uname(2) لتحديد إصدار النواة (الذي يحدد أين توجد الوحدات).

--show-depends
    اسرد تبعيات وحدة (أو اسم مستعار)، بما في ذلك الوحدة نفسها. ينتج هذا مجموعة (ربما فارغة) من أسماء ملفات الوحدات، سطر واحد لكل منها، يبدأ كل منها بـ "insmod" ويُستخدم عادةً بواسطة التوزيعات لتحديد الوحدات التي يجب تضمينها عند إنشاء صور initrd/initramfs. تُظهر أوامر Install المطبقة مسبوقة بـ "install". لا ينفذ أيًا من أوامر التثبيت. لاحظ أن modinfo(8) يمكن استخدامه لاستخراج تبعيات وحدة من الوحدة نفسها، لكنه لا يعرف شيئًا عن الأسماء المستعارة أو أوامر التثبيت.

-s، --syslog
    يتسبب هذا الخيار في تمرير أي رسائل خطأ عبر آلية syslog (كـ LOG_DAEMON بمستوى LOG_NOTICE) بدلاً من الخطأ المعياري. يُفعّل هذا آليًا أيضًا عندما يكون stderr غير متاح.

    يُمرر هذا الخيار عبر أوامر install أو remove إلى أوامر modprobe الأخرى في متغير البيئة MODPROBE_OPTIONS.

-V، --version
    أظهر إصدار البرنامج واخرج.

-v، --verbose
    اطبع رسائل حول ما يفعله البرنامج. عادةً يطبع modprobe الرسائل فقط إذا حدث خطأ ما.

    يُمرر هذا الخيار عبر أوامر install أو remove إلى أوامر modprobe الأخرى في متغير البيئة MODPROBE_OPTIONS.

البيئة

يمكن أيضًا استخدام متغير البيئة MODPROBE_OPTIONS لتمرير وسائط سطر الأوامر إلى modprobe. يُترك التنسيق غير موثق عن قصد، نظرًا لأن استخدامه بواسطة أدوات ونصوص طرف ثالث غير مشجع.

ينشأ متغير البيئة من تنفيذ قواعد التثبيت.

حقوق النسخ

حقوق نشر صفحة الدليل هذه تعود أصلاً لعام 2002، لراستي رسل، شركة IBM.

انظر أيضًا

modprobe.d(5), insmod(8), rmmod(8), lsmod(8), modinfo(8), depmod(8)

العلل

يرجى توجيه أي بلاغات عن الأخطاء إلى متتبع مشكلات kmod في https://github.com/kmod-project/kmod/issues/ مع ذكر الإصدار المستخدم، وخطوات إعادة إنتاج المشكلة والنتيجة المتوقعة.

المؤلفون

وردت مساهمات عديدة من القائمة البريدية linux-modules <linux-modules@vger.kernel.org> وجيت هاب. إذا كان لديك نسخة من kmod.git نفسه، فإن مخرجات git-shortlog(1) و git-blame(1) يمكنها إطلاعك على المؤلفين لأجزاء محددة من المشروع.

Lucas De Marchi <lucas.de.marchi@gmail.com> هو المصون الحالي للمشروع.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.