Modprobe - فرمان لینوکس - فرمان یونیکس

نام

modprobe - مدیریت سطح بالا از ماژول های قابل بارگذاری

خلاصه

modprobe [-adnqv] [-C config ] ماژول [نماد = ارزش ...]
modprobe [-adnqv] [-C config ] [-t type ] الگوی
modprobe -l [-C config ] [-t type ] الگو
modprobe -c [-C config ]
modprobe -r [-dnv] [-C config ] [module ...]
modprobe -Vh

گزینه ها

، - تمام

بارگیری تمام ماژول های مطابق به جای متوقف کردن پس از اولین بارگذاری موفق.

-c ، --showconfig

پیکربندی مورد استفاده در حال نمایش را نمایش دهید.

-C ، config config

از تنظیمات فایل به جای (اختیاری) /etc/modules.conf برای مشخص کردن پیکربندی استفاده کنید. متغیر محیط MODULECONF همچنین می تواند برای انتخاب (و لغو) یک فایل پیکربندی متفاوتی از default / etc / modules.conf (یا /etc/conf.modules ( غیرقانونی ) استفاده شود).

وقتی متغیر محیطی UNAME_MACHINE تنظیم می شود، modutils از مقدار آن به جای فیلد machine از uname () syscall استفاده می کند. این عمدتا از زمانی است که شما در حال کامپایل کردن 64 بیت ماژول در فضای 32 بیتی کاربر هستید یا بالعکس، UNAME_MACHINE را به نوع ماژول تنظیم کنید. Modutils فعلی از حالت کامل ساخت متقابل برای ماژول پشتیبانی نمی کند، بلکه محدود به انتخاب 32 تا 64 بیت نسخه معماری میزبان است.

-d ، --debug

نمایش اطلاعات مربوط به نمای داخلی پشته ماژول ها.

-h ، --help

نمایش خلاصه ای از گزینه ها و بلافاصله خروج.

-k ، --autoclean

'autoclean' را در ماژول های بارگذاری شده قرار دهید. وقتی که آن را به modprobe می خواند برای استفاده از یک ویژگی گم شده (به عنوان یک ماژول عرضه می شود) توسط هسته استفاده می شود. گزینه -q توسط -k معنی شده است. این گزینه به طور خودکار به insmod فرستاده می شود.

-l ، - لیست

لیست ماژول های تطبیق

-n ، --show

در واقع انجام عمل را انجام نمی دهد، فقط نشان می دهد که چه کاری انجام می شود.

-q ، - مسخره

در مورد insmod در نصب یک ماژول شکایت نکنید همچنان طبق معمول، اما با سکوت، با امکانات دیگر برای آزمایش modprobe. این گزینه به طور خودکار به insmod فرستاده می شود.

-r ، - حذف

حذف ماژول (پشته) و یا autoclean، بسته به اینکه آیا ماژول های ذکر شده در خط فرمان وجود دارد.

-s ، --syslog

گزارش از طریق syslog به جای stderr. این گزینه به طور خودکار به insmod فرستاده می شود.

-t moduletype ؛ نوع ماژول

فقط ماژول های این نوع را در نظر بگیرید. modprobe تنها به ماژول هایی نگاه می کند که مسیر آن دقیقا " / moduletype / " است. moduletype می تواند شامل بیش از یک نام دایرکتوری باشد، مثلا " -t drivers / net " می تواند ماژول ها در xxx / drivers / net / و subdirectories خود را لیست کند.

-v ، --verbose

چاپ تمام دستورات را به عنوان آنها اجرا می شود.

-V، --version

نمایش نسخه ی modprobe

توجه داشته باشید:

نام ماژول نباید حاوی مسیر (no '/') باشد و نباید حاوی ".o" باشد. به عنوان مثال، لغزش یک نام ماژول معتبر برای modprobe است ، /lib/modules/2.2.19/net/slip و slip.o نامعتبر است. این برای خط فرمان و ورودی ها در پیکربندی استفاده می شود.

شرح

سرویس های modprobe و depmod به منظور ایجاد یک هسته مدولار لینوکس برای همه کاربران، مدیران و نگهبانان توزیع، قابل کنترل است.

Modprobe با استفاده از یک فایل وابسته مانند Makefile که توسط depmod ایجاد شده است، به طور خودکار ماژول مربوطه را از مجموعه ای از ماژول های موجود در درخت های دایرکتوری پیش تعریف شده بارگذاری می کند.

Modprobe برای بارگذاری یک ماژول واحد، یک پشته از ماژول های وابسته یا همه ماژول هایی که با یک تگ مشخص مشخص شده اند استفاده می شود.

Modprobe به طور خودکار تمامی ماژول های پایه مورد نیاز در پشته ی ماژول را بارگذاری می کند، همانطور که توسط module dependencies file توضیح داده شده است. اگر بارگذاری یکی از این ماژول ها نتواند انجام شود، تمام پشته فعلی ماژول های بارگذاری شده در جلسه فعلی به طور خودکار بارگیری نمی شود.

Modprobe دو راه بارگیری ماژول ها دارد. یک راه (حالت پروب) سعی خواهد کرد یک ماژول را از یک لیست (تعریف شده توسط الگوی ) بارگیری کند. Modprobe زمانی که یک ماژول با موفقیت بارگیری می شود، بارگیری می شود. این می تواند مورد استفاده قرار گیرد برای یک راننده اترنت از یک لیست به صورت خودکار.
روش دیگر modprobe می تواند بارگیری تمام ماژول ها از یک لیست باشد. نگاه کنید به مثال زیر.

با استفاده از گزینه -r ، Modprobe به طور خودکار یک ستون از ماژول ها را تخلیه می کند، مشابه روش rmmod -r است . توجه داشته باشید که استفاده از فقط modprobe -r پاک کردن ماژول های مجاز استفاده نشده و همچنین دستورات قبل و بعد از حذف در فایل پیکربندی / etc / modules.conf را انجام می دهد .

ترکیبی از گزینه ها -l و -t لیست تمام ماژول های موجود در نوع خاصی را نشان می دهد.

Option -c پیکربندی در حال حاضر استفاده می شود (فایل پیش فرض + پیکربندی) را چاپ می کند.

CONFIGURATION

رفتار modprobedepmod ) را می توان با پرونده پیکربندی (اختیاری) /etc/modules.conf اصلاح کرد .
برای توضیح دقیق تر از آنچه این فایل می تواند باشد، و همچنین تنظیمات پیش فرض استفاده شده توسط depmod و modprobe ، به modules.conf (5) مراجعه کنید.

توجه داشته باشید که اگر یک ماژول توسط kerneld "Autocleaned" اجرا شود، دستورات قبل و بعد حذف نمیشوند! در عوض، به دنبال پشتیبانی جدید برای ذخیره سازی ماژول مداوم باشید.
اگر می خواهید از ویژگی های قبل و بعد از نصب استفاده کنید، باید Autoclean را برای kerneld خاموش کنید و در عوض چیزی مانند خط زیر را در crontab خود (که برای سیستم های kmod نیز استفاده می شود) قرار دهید تا هر 2 دقیقه یکبار اتوکلائن را انجام دهید :

* / 2 * * * * test -f / proc / modules && / sbin / modprobe -r

استراتژی

ایده این است که modprobe ابتدا در دایرکتوری حاوی ماژول هایی که برای انتشار فعلی هسته کامپایل شده اند، اولین بار است. اگر ماژول در آن وجود نداشته باشد، Modprobe در دایرکتوری مشترک به نسخه کرنل (به عنوان مثال 2.0، 2.2) نگاه می کند. اگر ماژول هنوز پیدا شود، modprobe در دایرکتوری حاوی ماژول ها برای انتشار پیش فرض و غیره نگاه خواهد کرد.

هنگام نصب یک لینوکس جدید، ماژول ها باید به یک پوشه مربوط به نسخه (و نسخه) هسته ای که نصب می کنید منتقل شود. سپس باید یک لینک از این دایرکتوری را به دایرکتوری پیش فرض بکشید.

هر بار که یک هسته جدید کامپایل می کنید، دستور " make modules_install " یک پوشه جدید ایجاد می کند، اما لینک "پیش فرض" را تغییر نمی دهد.

هنگامی که شما یک ماژول غیر مرتبط با توزیع هسته دارید، باید آن را در یکی از فهرستهای مستقل نسخه تحت زیر / lib / modules قرار دهید .

این استراتژی پیش فرض است که می تواند در /etc/modules.conf لغو شود.

مثال ها

modprobe-net

بار یکی از ماژول ها که در دایرکتوری برچسب "net" ذخیره می شود. هر یک از ماژول ها تا زمانی که موفق شوند، محاکمه می شوند.

modprobe -a -t boot

تمام ماژول هایی که در دایرکتوری ها ذخیره می شوند، "بوت" برچسب گذاری می شوند.

لغزش modprobe

این سعی خواهد کرد که ماژول slhc.o را بارگیری کند، اگر قبلا بارگیری نشده باشد، چون ماژول لغزش به عملکرد ماژول slhc نیاز دارد. این وابستگی در فایل modules.dep شرح داده می شود که توسط depmod به طور خودکار ایجاد شده است.

modprobe -r لغزش

این ماژول لغزش را تخلیه می کند. همچنین ماژول slhc را به صورت خودکار بارگیری می کند، مگر اینکه توسط برخی از ماژول های دیگر نیز استفاده شود (به عنوان مثال ppp).

همچنین ببینید

depmod (8)، lsmod (8)، kerneld (8)، ksyms (8)، rmmod (8).

حالت امن

اگر uid موثر با uid واقعی برابر نیست، سپس modprobe ورودی خود را با سوء ظن شدید رفتار می کند. آخرین پارامتر همیشه به عنوان یک نام ماژول درمان می شود، حتی اگر با '-' شروع می شود. فقط یک نام ماژول وجود دارد و گزینه های فرم "متغیر = ارزش" ممنوع هستند. نام ماژول همیشه به عنوان یک رشته در نظر گرفته شده است، بدون گسترش متا در حالت ایمن انجام می شود. با این حال گسترش فراوانی هنوز به داده هایی که از فایل پیکربندی خواندن استفاده می شود استفاده می شود.

eud ممکن است برابر با uid باشد که modprobe از هسته فراخوانی می شود، این درست است برای هسته ها> = 2.4.0-test11. در دنیای ایده آل، Modprobe می تواند به هسته اعتماد کند تا فقط پارامترهای معتبر را به modprobe منتقل کند. با این حال حداقل یک سوءاستفاده ریشه محلی رخ داده است، زیرا کد بالا در کد هسته، پارامترهای تأیید نشده را مستقیم از کاربر به modprobe گذرانده است. بنابراین modprobe دیگر اعتماد در ورودی هسته نیست.

modprobe به طور خودکار حالت امن را تنظیم می کند زمانی که محیط فقط شامل این رشته ها می شود

HOME = / TERM = لینوکس PATH = / sbin: / usr / sbin: / bin: / usr / bin

این اجرای اجرای modprobe را از هسته بر روی هسته 2.2، هر چند 2.4.0-test11، حتی اگر uid == euid، که در هسته های قبلی انجام می شود، شناسایی کند.

دستورالعمل های حمل و نقل

اگر دایرکتوری / var / log / ksymoops وجود داشته باشد و modprobe با یک گزینه ای که می تواند بارگیری یا حذف یک ماژول اجرا شود، modprobe دستور خود را وارد می کند و وضعیت return در / var / log / ksymoops / 'date +٪ Y٪ m٪ d .log` . هیچ تغییری برای غیرفعال کردن این ورود به سیستم وجود ندارد، اگر نمی خواهید رخ دهد، / var / log / ksymoops را ایجاد نکنید . اگر این دایرکتوری وجود داشته باشد، آن باید توسط ریشه متعلق به حالت 644 یا 600 باشد و شما باید هر روز یا هر چیز دیگری insmod_ksymoops_clean را اجرا کنید.

وظایف مورد نیاز

depmod (8)، insmod (8).

مهم: از دستور man ( ٪ man ) برای دیدن نحوه استفاده از دستور در رایانه خاص خود استفاده کنید.