উত্তর:
modprobe
থেকে মডিউলগুলি পড়ে /lib/modules/$(uname -r)/modules.dep.bin
(বা .bin
প্রত্যয় ছাড়া যদি অন্য ফাইলটি উপলব্ধ না হয়)। একই ফাইল থেকে, নির্ভরতা লোড করা হয়।
modprobe
(যেমন ফাইলের জন্য ) এবং উপাধি ( ) এ কোনও .ko
ফাইলের নাম গ্রহণ করে । বিল্টিনগুলি ( ) পাশাপাশি স্বীকৃত, তবে যেহেতু এই মডিউলগুলি ডিফল্টরূপে লোড করা হয়, এই জাতীয় মডিউলগুলিকে মোডপ্রোব করার কোনও মানে হয় না।/lib/modules/$(uname -r)
nvidia-current
dkms/nvidia-current.ko
modules.alias.bin
modules.alias.bin
insmod
অন্যদিকে ফাইলের পাথ গ্রহণ করে। মডিউলটিতে থাকা উচিত নয় /lib/modules/$(uname -r)
, তবে নির্ভরতা স্বয়ংক্রিয়ভাবে লোড হয় না। এটি modprobe
মডিউল লোড করতে ব্যবহৃত নিম্ন প্রোগ্রাম ।
মডিউল সম্পর্কিত অন্যান্য প্রোগ্রামগুলি হ'ল rmmod
এবং modinfo
।
rmmod
নামের উপর ভিত্তি করে কার্নেলের নাম সরিয়ে দেয় /proc/modules
। এই নামটি অগত্যা পাস হওয়ার সাথে একই রকম হবে না modprobe
( nvidia-current
ফাইলের জন্য, এটি nvidia
উদাহরণস্বরূপ)।
modinfo
কোনও ফাইলনাম, বা .ko
প্রত্যয় ছাড়াই ফাইলের নাম গ্রহণ করে /lib/modules/$(uname -r)
।
modprobe
এটি একটি বুদ্ধিমান কমান্ড, এটি মডিউলটি লোড করার সময় নির্ভরতাগুলির সন্ধান করে। মনে করুন, আমি যদি কোনও মডিউল লোড করি, যা অন্য কোনও মডিউলে সংজ্ঞায়িত চিহ্ন রয়েছে (মূল মডিউলটির ভিতরে এই মডিউলটির পথ দেওয়া হয়েছে)। সুতরাং, modprobe
মূল মডিউল এবং নির্ভরশীল মডিউলটি লোড করে।
তবে যদি insmod
এটি ব্যবহার করা হয় তবে এটি নির্ভরতা লোড করবে না এবং তাই এটি সংকলন ত্রুটিগুলির মতো দেয় Unresolved symbols
। এই ক্ষেত্রে, আমাদের ম্যানুয়ালি নির্ভরশীল মডিউলটি সন্ধান করতে হবে এবং ত্রুটিগুলি সমাধান করার জন্য সেগুলি লোড করা দরকার।
Modprobe ইউটিলিটি একটি দ্রুত উল্লেখ মূল্য। মোডপ্রোব, ইনসোমডের মতো, কার্নেলের মধ্যে একটি মডেলকে লোড করে। এটি পৃথক করে যে এটি কার্নেলের মধ্যে বর্তমানে সংজ্ঞায়িত নয় এমন কোনও চিহ্নকে রেফার করে কিনা তা বোঝাতে এটি লোড করা মডিউলটি দেখবে। যদি এরকম কোনও উল্লেখ পাওয়া যায় তবে মোডপ্রোব বর্তমান মডিউল অনুসন্ধানের পথগুলিতে অন্যান্য মডিউলগুলির সন্ধান করে যা প্রাসঙ্গিক চিহ্নগুলি সংজ্ঞায়িত করে। Modprobe যখন এই মডিউলগুলি খুঁজে পায় (যা মডিউলটি লোড করার প্রয়োজন হয়), এটি তাদের কার্নেলের মধ্যেও লোড করে দেয়। পরিবর্তে যদি আপনি এই পরিস্থিতিতে ইনসোমড ব্যবহার করেন, সিস্টেম লগফাইলে থাকা "অবলম্বিত চিহ্নগুলি" বার্তাটি দিয়ে কমান্ডটি ব্যর্থ হয়