Kernel Modules
كنت براجع النهاردة كورس Linux+ ، فالمهم كان من الحاجات اللى الواحد راجعها ال Kernel Modules
الأول إيه هى ال Kernel Mods ؟ سامع واحد بيقول زى ال Apache Mods كدا ؟
هقول الإجابة فعلا صح مع الإختلاف ولكن فى كلا الحالتين ال Mods دى عبارة عن برنامج صغير مكتوب بيستخدم فى زيادة قدرة ال Kernel او ال Apache ^^ ، لو فى حد إتعامل مع إدارة منتديات قبل كدا هيلقة إن فى حاجة إسمها Mods او Hacks بتستخدم فى زيادة الإمكانيات بتاع المنتدى عندك . نرجع لموضوعنا
ال Kernel Modules تحديدا : هى مشابهه لل Device drivers وبتستخدم فى زيادة قدرات ال Kernel ومن اشكالها :
Device drivers
File system drivers
System calls
Network drivers
خلال عملية ال Boot ال Kernel بتعمل Load لل Modules التالية تلقائيا :File system drivers
System calls
Network drivers
كود:
/etc/modules.conf /etc/conf.modules /etc/modprobe.conf
اها اكيد فهمت قصدى LOL
Whatever
ال Kernel Modules تقدر تضيفها وتحذفها Manually ونيجى هنا لنقطة الإختلاف عن Microsoft world
انك لما كنت تيجى تعمل Load لأى Device driver كنت تضطر تعمل Reboot عشان ال Kernel تظبط نفسها ، ولكن فى ال LINUX world هتلقة إختلاف جذرى لأنك تقدر تعمل Load او تعمل Unload لأى Modules فى اى وقت وال Kernel شغالة مش هتحتاج تعمل Reboot غير ممكن فى حالة واحدة لو غيرت ال Kernel مثلا ^^
فاكرين برامج زى rpm و dpkg على ماأذكر مش كانت بتتعقب ال Dependencies كانت Hell الصراحة لأن Package تبقة معتمدة على Package والتانية تبقة معتمدة على تالته وانت تقعد تلف وتدور لحد ماتستبها تمام ؟ جه ال APT وبقة بيقوم بالحوار دا عننا وريحنا من الآخر . نرجع لموضوعنا
عشان نعرف إيه ال Modules المتركبة هنستخدم lsmod ودا اختصار ل List Modules
بيستخدم بالطريقة التالية
كود:
#lsmod
عشان تضيف Mod للكرنل بتستخدم insmod وعشان تحذف Mod بتعمل rmmod
ال insmod إختصار ل Install Module وبتستخدم كالتالى
كود:
#insmod ModuleName
ال rmmod إختصار ل Remove Module وبتستخدم كالتالى
#rmmod ModuleName
ودول غير محبذ إستخدامهم عشان فى Modules عشان يتعملها install بتكون معتمدة على Modules تانية فكدا هنقع فى Modules Hell نيجى ل Tool رائعة إسمها modprobe ودى بتقول بوظيفة ال insmod و rmmod وال lsmod ^^
ومن مميزاتها : Dependencies tracking بحيث إننا مش نقعد نلف ورا ال Modules ونشوف الحاجات اللى محتجاها وكدا هى بتقوم بكل شئ زى APT بالنسبة لل Packages
ال Tool دى بتستخدم عدد من ال Switches ( ال Switches بتبقة فى ال Command Line بإضافة – بعد إسم الTool زى ال ls -a ال -a دى إسمها Switch لأنها بتغير الهدف المطلوب او بتعدله )
من ال Switches المستخدمه
-l ودى بتستخدم مثل ال lsmod tool
كود:
#modprobe -l
إضافة من ابو فيصل : وأحب أضيف ان الفرق بين lsmod و modprobe -l إن الأول يعرض الـ modules المحمله حالياً إلى النواه أما الثاني فهو يعرض كل الـ Modules التي تأتي مع النواه " محمله وغير محمله "
بدون إستخدام Switch بتكون محل insmod
كود:
#modprobe ModuleName
-r بتستخدم لإزالة Module مثل rmmod
كود:
#modprobe -e ModuleName
تعليق