modprobe

modprobe هو برنامج لينكس يُتيح تحميل وحدات نواة قابلة للتحميل في نواة لينكس ، وإلغاء تحميل وحدة مُحمّلة، والعديد من الميزات الأخرى ذات الصلة. يُوفر البرنامج القدرة على تحديد الوحدات المراد تحميلها، ومعرفة تبعيات الوحدات ، بحيث يُضيف الوحدات المطلوبة الأخرى أولًا عند طلب تحميل وحدة ما، كما يُتيح حلّ تبعيات الوحدات المتكررة .

يُستخدم عادةً بشكل غير مباشر. على سبيل المثال، يعتمد udev على modprobe لتحميل برامج التشغيل للأجهزة التي يتم اكتشافها تلقائيًا.

تمت كتابة برنامج Modprobe في الأصل بواسطة Rusty Russell ويتم توزيعه كجزء من حزمة البرامج "kmod" [ 1 ] (التي يتولى صيانتها Lucas De Marchi وآخرون). وقد تم تطويره سابقًا على النحو التالي:

  • "module-init-tools"، [ 2 ] لنواة لينكس الإصدار 2.6 وما بعده (يتم صيانتها بواسطة جون ماسترز وآخرين)
  • "modutils" [ 3 ] للاستخدام مع إصدارات Linux 2.2.x و 2.4.x. .

عملية

عند استدعاء البرنامج بدون أي خيارات، فإنه يضيف/يُدرج/يُثبّت الوحدة النمطية المحددة بالاسم. تُمرر الوسائط التي تلي اسم الوحدة النمطية إلى النواة. كما تُمرر خيارات ملف التكوين أيضًا.

في بعض إصدارات modprobe، يُطلق على ملف التكوين اسم modprobe.conf، وفي إصدارات أخرى، يكون المكافئ هو مجموعة الملفات المسماة <modulename> في الدليل /etc/modprobe.d.

يبحث الأمر modprobe فقط في مجلدات الوحدات النمطية القياسية. لتثبيت الوحدات النمطية من مجلد العمل ، يلزم استخدام الأمر insmod . بدلاً من ذلك، يمكن استخدام ملف رابط رمزي ليتمكن الأمر depmod من العثور عليه.

عادةً ما تكون امتيازات الجذر مطلوبة لتنفيذ الإجراءات التي يحاول modprobe القيام بها.

سمات

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

يتمتع البرنامج أيضًا بالقدرة على تشغيل برامج أخرى قبل أو بعد تحميل أو إلغاء تحميل وحدة معينة. على سبيل المثال، ضبط الخلاط مباشرةً بعد تحميل وحدة بطاقة الصوت ، أو تحميل البرامج الثابتة إلى جهاز قبل تفعيله مباشرةً. مع أن هذه الإجراءات تتطلب برامج خارجية، إلا أن modprobe يزامن تنفيذها مع تحميل/إلغاء تحميل الوحدات.

القائمة السوداء

توجد حالات يدعم فيها اثنان أو أكثر من الوحدات نفس الأجهزة، أو تدّعي فيها وحدة ما دعم جهاز بشكل غير صحيح: تشير الكلمة المفتاحية blacklist إلى أنه يجب تجاهل جميع الأسماء المستعارة الداخلية لوحدة معينة. [ 4 ]

هناك طريقتان لحظر وحدة نمطية، ويعتمد مكان تكوينها على الطريقة المستخدمة لتحميلها.

هناك طريقتان لحظر وحدة نمطية باستخدام modprobe: الأولى هي استخدام نظام الحظر الموجود في /etc/modprobe.d/، وذلك باستخدام نظام modprobe.conf. يمكن استخدام أي اسم ملف ينتهي بـ .conf.

cat /etc/modprobe.d/blacklist.conf القائمة السوداء IEEE1394 القائمة السوداء ohci1394 القائمة السوداء eth1394 القائمة السوداء sbp2

تُعتبر عملية التثبيت الأساسية ذات أولوية قصوى في ملف التكوين، وسيتم استخدامها بدلاً من طريقة القائمة السوداء المذكورة أعلاه، مما يستلزم استخدام هذه الطريقة الثانية:

cat /etc/modprobe.d/ieee1394.conf تثبيت ieee1394 /bin/true قم بتثبيت ohci1394 /bin/true قم بتثبيت eth1394 /bin/true قم بتثبيت sbp2 /bin/true

أو يمكنك تعديل الملف /etc/modprobe.conf:

الاسم المستعار sub_module /dev/null الاسم المستعار module_main /dev/null خيارات الوحدة الرئيسية الخيار المطلوب = 0

انظر أيضاً

  • lsmod – أمر لينكس الذي يسرد وحدات النواة المحملة 

مراجع

  1. "kernel/kmod/kmod.git - kmod - إدارة الوحدات النمطية" .
  2. "فهرس /Pub/Linux/Utils/Kernel/Module-init-tools" . مؤرشف من الأصل بتاريخ 2008-06-09 . تم الاطلاع عليه بتاريخ 2008-09-22 .
  3. "فهرس /Pub/Linux/Utils/Kernel/Modutils" . مؤرشف من الأصل بتاريخ 23-02-2009 . تم الاطلاع عليه بتاريخ 22-09-2008 .
  4. modprobe.conf(5) - صفحة دليل لينكس