لینکس / یونیسی کمانڈ: انسداد

لینکس / یونیسی کمانڈ انموڈ کو چلانے کے دانا میں ایک قابل استعمال ماڈیول انسٹال کرتا ہے. insmod کینییل کی برآمد شدہ علامت کی میز سے تمام علامات کو حل کرکے چلنے والے دانا میں ایک ماڈیول سے منسلک کرنے کی کوشش کرتا ہے.

اگر ماڈیول فائل کا نام ڈائرکٹری یا توسیع کے بغیر دیا جاتا ہے تو، اسموڈ کچھ عام ڈیفالٹ ڈائریکٹریز میں ماڈیول کی تلاش کریں گے. ماحول متغیر MODPATH اس ڈیفالٹ کو اوور کرنے کے لئے استعمال کیا جا سکتا ہے. اگر کسی ماڈیول کی ترتیب فائل جیسے /etc/modules.conf موجود ہے، تو یہ MODPATH میں وضاحت کردہ راستوں کو اونٹ گا.

ماحول متغیر موڈولیکون ایف بھی ڈیفالٹ /etc/modules.conf (یا /etc/conf.modules (خراب) سے مختلف ترتیب فائل کو منتخب کرنے کے لئے استعمال کیا جا سکتا ہے. یہ ماحول متغیر اوپر کی تمام تعریفیں ختم کرے گا.

جب ماحولیاتی متغیر UNAME_MACHINE مقرر کیا جاتا ہے تو، ماڈیولز اس کے بجائے مشین فیلڈ کے بجائے انیم () syscall سے اپنی قیمت کا استعمال کریں گے. یہ بنیادی طور پر استعمال ہوتا ہے جب آپ 32 بٹ صارف کی جگہ میں 64 بٹ ماڈیولز مرتب کررہے ہیں یا اس کے برعکس، UNAME_MACHINE ماڈیولز کی قسم کو مقرر کریں. موجودہ ماڈیولز ماڈیولز کے لئے مکمل کراس تعمیر موڈ کی حمایت نہیں کرتا، یہ میزبان فن تعمیر کے 32- اور 64 بٹ ورژن کے درمیان منتخب کرنے کے لئے محدود ہے.

اختیارات

-e persist_name ، - افراد = persist_name

وضاحت کرتا ہے کہ ماڈیول کے لئے کسی بھی مسلسل اعداد و شمار لوڈ اور لکھا سے پڑھا جاتا ہے جب اس ماڈیول کی فوری طور پر اپ لوڈ ہو جاتی ہے. اگر یہ ماڈیول کوئی مستقل ڈیٹا نہیں ہے تو یہ اختیار خاموشی سے نظر انداز کردی جاتی ہے. مستقل ڈیٹا صرف insmod کی طرف سے پڑھا ہے اگر یہ اختیار موجود ہے تو، ڈیفالٹ insmod کی طرف سے مسلسل اعداد و شمار پر عملدرآمد نہیں کرتا ہے.

ماڈیولس کی شکل میں وضاحت کے طور پر ایک آثار قدیمہ فارم ، -E "" (ایک خالی تار) کی تفسیر کی طرف سے تفسیر کی حیثیت سے تعبیر کیا جاتا ہے، اس کے بعد ماڈیول تلاش کے راستے سے متعلق ماڈیول کے نام کا نام نامہ اس کے نتیجے میں ٹریکنگ ".gz"، ".o" یا ".od". اگر ماڈیولز .conf " persistdir = " کی وضاحت کرتا ہے (مثلا persistdir ایک خالی میدان ہے) تو اس آثار قدیمہ فارم خاموش طور پر نظر انداز کر دیا ہے. (ملاحظہ کریں modules.conf (5).)

- ایف ، فورسز

ماڈیول لوڈ کریں یہاں تک کہ اگر چل رہا ہے کونے کے ورژن اور کونے کے ورژن جس کے لئے ماڈیول مرتب کیا گیا تھا وہ نہیں ملتا ہے. یہ صرف دانا ورژن کی چیک پر قابو پاتا ہے، اس کا نشان علامت ناموں کی چیک پر کوئی اثر نہیں ہے. اگر ماڈیول میں علامتوں کا نام دانا سے متفق نہیں ہے تو ماڈیول کو لوڈ کرنے کے لئے موڈ کو مجبور کرنے کا کوئی طریقہ نہیں ہے.

-h ، --help

اختیارات کا ایک خلاصہ دکھائیں اور فوری طور پر نکلیں.

--k ، --autoclean

ماڈیول پر آٹو صاف پرچم مقرر کریں. یہ پرچم ماڈیولز کو دور کرنے کے لئے کینیڈیل (8) کی طرف سے استعمال کیا جائے گا جو کچھ عرصے میں استعمال نہیں کیا جاتا ہے - عام طور پر ایک منٹ.

-L ، -lock

اسی ماڈیول کے بیک وقت بوجھ کو روکنے کے لئے ریل (2) کا استعمال کریں.

- ایم ، - نقشہ

اسٹور آؤٹ پر ایک بوجھ کا نقشہ آؤٹ پائیں، ایک دانا گھبراہٹ کی صورت میں ماڈیول کو ڈیبگ کرنے میں آسان بنانا.

-n ، --noload

ڈمی چلاتے ہیں، سب کچھ کرتے ہیں، بغیر کسی کونے میں ماڈیول لوڈ کریں. اگر اے ایم او اے کے ذریعہ درخواست کی جاتی ہے تو یہ دوڑ نقشہ یا بلب فائل تیار کرے گا. چونکہ ماڈیول لوڈ نہیں کیا جاسکتا ہے، اصلی دانا بوجھ ایڈریس نامعلوم نہیں ہے لہذا نقشہ اور بلب فائل 0x12340000 کے مباحثہ لوڈ ایڈریس پر مبنی ہے.

-Module_name ، --name = module_name

واضح طور پر ذریعہ اعتراض فائل کے بیس نام سے نام حاصل کرنے کے بجائے ماڈیول کا نام.

-O blob_name ، - بلب = blob_name

blob_name میں بائنری چیز کو محفوظ کریں. نتیجہ ایک بائنری بلب ہے (کوئی ELF ہیڈر نہیں) جو ظاہر ہوتا ہے ظاہر ہوتا ہے کہ اس حصے کی ہیرایپولیشن اور ٹرانسمیشن کے بعد دانا میں کیا بھرا ہوا ہے. اختیاری کا نقشہ حاصل کرنے کے لئے اختیاری - اختیار کی جاتی ہے.

-P ، -probe

اس ماڈیول کی تحقیقات کریں کہ یہ کامیابی سے لوڈ ہوسکتی ہے. اس میں ماڈیول کے راستے میں اعتراض فائل کا پتہ لگانے، ورژن نمبروں کی جانچ پڑتال، اور علامات کو حل کرنے میں شامل ہے. یہ نقل مکانات کی جانچ پڑتال نہیں کرتا اور نہ ہی یہ ایک نقشہ یا بلب فائل پیدا کرتا ہے.

-P prefix ، - prefix = prefix

اس اختیار کو SMP یا bigmem کونے کے لئے ورژنڈ ماڈیولز کے ساتھ استعمال کیا جاسکتا ہے، کیونکہ اس طرح کے ماڈیولز میں ان کے نام کے نام میں اضافی اضافی اضافی شامل ہے. اگر کونے کی علامت علامتوں کے ساتھ تعمیر کیا گیا تو انسپاڈ خود کو "get_module_symbol" یا "inter_module_get" کی تعریف سے خود کار طریقے سے نکالیں گے، جس میں سے ایک لازمی طور پر لازمی طور پر ماڈیولز کی حمایت کرنا لازمی ہے. اگر دانا کے پاس کوئی علامت نہیں ہے لیکن ماڈیول علامت ورژن کے ساتھ بنایا گیا تو پھر صارف کو فراہمی کی ضرورت ہے.

--ق،

کسی غیر حل شدہ علامات کی فہرست پرنٹ نہ کریں. ورژن خرابی کے بارے میں شکایت نہ کرو. مسئلہ صرف insmod کے باہر نکلنے کی حیثیت میں ظاہر کیا جائے گا.

-R ، - جڑ

بعض صارفین ماڈیولز کو غیر جڑ صارفی کے تحت مرتب کرتے ہیں پھر ماڈیولز جڑ کے طور پر نصب کریں. اس عمل کو غیر جڑ صارفی کی ملکیت ماڈیولز چھوڑ سکتی ہے، اگرچہ ماڈیول ڈائرکٹری جڑ کی ملکیت ہے. اگر غیر جڑ صارفی کو سمجھا جاتا ہے تو، ایک انٹرویوڈر اس صارف کی ملکیتی موجودہ ماڈیولز کو اوور کرسکتا ہے اور جڑ تک رسائی بوٹسٹریپ کو اس نمائش کا استعمال کرسکتا ہے.

پہلے سے طے شدہ طور پر، ماڈیولز ایک ماڈیول استعمال کرنے کی کوششوں کو مسترد کردیں گے جو جڑ کی ملکیت نہیں ہے. وضاحت کرنا -r چیک ٹوگل کرے گا اور ماڈیولز لوڈ کرنے کے لئے جڑ کی اجازت دیں جو جڑ کی ملکیت نہیں ہے. نوٹ: جب ماڈیولز کو ترتیب دیا جاتا ہے تو جڑ چیک کے لئے ڈیفالٹ قدر تبدیل کیا جاسکتا ہے.

جڑ کی چیکنگ کو غیر فعال کرنے کے لئے استعمال کرتے ہیں یا ترتیب کے وقت "جڑ چیک نہیں" کو ڈیفالٹ ترتیب دینے کے لئے ایک اہم سیکورٹی نمائش ہے اور سفارش نہیں کی جاتی ہے.

-s ، - syslog

ٹرمینل کی بجائے syslog (3) کرنے کے لئے سب کچھ آؤٹ پٹ.

ایس

لوڈ کردہ ماڈیول کو قلالیوں کے اعداد و شمار پر مجبور کریں ، یہاں تک کہ اگر دانا کی حمایت نہ ہو. یہ اختیار چھوٹے نظاموں کے لئے ہے جہاں کیبل کو ڈیٹا بیس کے بغیر بھرا ہوا ہے لیکن منتخب کردہ ماڈیولز کو ڈیبگ کے لئے کال کرنے کی ضرورت ہوتی ہے. یہ اختیار Red Hat Linux پر ڈیفالٹ ہے.

- وی ، --وربھی

verbose بن

- وی ، --ورژن

insmod کے ورژن دکھائیں.

-X ، -export ؛ -X ، --noexport

کرتے ہیں اور ماڈیول کے بیرونی علامات کو باقاعدہ طور پر برآمد نہیں کرتے ہیں. پہلے سے طے شدہ علامتوں کو برآمد کرنے کے لئے ہے. اگر یہ ماڈیول واضح طور پر اپنے کنٹرول کی علامت کی میز برآمد نہیں کرتا تو یہ اختیار صرف مؤثر ہے، اور اس طرح سے محروم ہوجاتا ہے.

-Y ، --کسیموپس ؛ اے ، - اینکوسوموپس

کرو اور ksymoops علامتوں کو ksyms میں شامل نہیں ہے. اگر یہ ماڈیول میں ایک اون ہے تو بہتر ڈبگنگ فراہم کرنے کے لئے یہ علامتوں کو ksymoops کی طرف سے استعمال کیا جاتا ہے. پہلے سے طے شدہ طور پر ksymoops علامات کی وضاحت کی جائے گی. یہ اختیار XX-X اختیارات سے آزاد ہے.

ksymoops علامات فی لوڈ ماڈیول فی تقریبا 260 بٹس شامل. جب تک کہ آپ واقعی دانی کی جگہ پر مختصر نہیں ہیں اور اس کے کم از کم سائز میں کلومیٹر کو کم کرنے کی کوشش کر رہے ہیں، ڈیفالٹ لے لیں اور زیادہ درست طریقے سے ڈیبگنگ حاصل کریں. مسلسل ماڈیول ڈیٹا کو بچانے کے لئے ksymoops علامات کی ضرورت ہوتی ہے.

-N ، - نامکمل صرف

ماڈیول ورژن کے اعداد و شمار کے اعداد و شمار کے صرف اعداد و شمار کو صرف چیک کریں، یعنی ماڈیول کسی دانایل سے متعلق ہے تو فیصلہ کرنے کے بعد EXTRAVERSION کو نظر انداز کریں. یہ پرچم خود کار طریقے سے دانا 2.5 کے لئے مقرر کیا جاتا ہے، یہ پہلے کے دانا کے لئے اختیاری ہے.

ماڈیول پیرامیٹرز

کچھ ماڈیولز اپنے آپریشن کو اپنی مرضی کے مطابق لوڈ کرنے کے پیرامیٹرز کو قبول کرتے ہیں. یہ پیرامیٹرز اکثر I / O بندرگاہ اور IRQ نمبر ہیں جو مشین سے مشین سے مختلف ہوتے ہیں اور ہارڈویئر سے طے نہیں کئے جا سکتے ہیں.

2.0 سیریز کے کھنگالوں کے لئے بنایا ماڈیولز میں، کسی عدد یا کردار پوائنٹر کا نشان ایک پیرامیٹر کے طور پر علاج کیا جا سکتا ہے اور نظر ثانی شدہ. 2.1 سیریز کے کھنگالوں میں شروع ہونے والی علامتوں کو واضح طور پر پیرامیٹرز کے طور پر نشان لگا دیا جاتا ہے تاکہ صرف مخصوص اقدار تبدیل ہوجائے. مزید برآں، لوڈ وقت میں فراہم کردہ اقدار کی جانچ پڑتال کے لئے معلومات کی قسم فراہم کی جاتی ہے.

انباجوں کے معاملے میں، تمام اقدار کو ڈی سی: 17، 021 یا 0x11 میں ڈسکی، اوکٹک یا ہییکسڈیکیٹل میں ہوسکتا ہے. آرائ عناصر کومز کی طرف سے علیحدہ علیحدہ ترتیب کی وضاحت کی جاتی ہے. عناصر قیمت کو ختم کرکے چھوٹا جا سکتا ہے.

2.0 سیریز ماڈیولز میں، اقدار جو نمبر کے ساتھ شروع نہیں کرتے تاروں پر غور کیا جاتا ہے. 2.1 میں شروع، پیرامیٹر کی قسم کی معلومات سے پتہ چلتا ہے کہ آیا ایک تار کے طور پر قدر کی تشریح کرنا ہے. اگر قیمت ڈبل حوالہ ( " ) کے ساتھ شروع ہوتی ہے تو، سٹرل میں سی کے طور پر تفسیر کی جاتی ہے، اس سے بچنے والے ترتیبات اور سبھی. نوٹ کریں کہ شیل کی فوری طور پر، خود کو حوالہ دیتے ہیں کہ شیل تشریح سے محفوظ ہونا ضروری ہے.

GPL لائسنس یافتہ ماڈیولز اور علامات

دانا 2.4.10 کے ساتھ شروع ہونے والے، ماڈیولز کو ایک لائسنس کا سلسلہ ہونا چاہئے جس میں MODULE_LICENSE () کا استعمال کرتے ہوئے بیان کیا گیا ہے. GPL مطابقت رکھتا ہے کے طور پر کئی تار کو تسلیم کیا جاتا ہے؛ کسی بھی دوسرے لائسنس کی تار یا کوئی لائسنس نہیں ہے کہ اس کے ذریعہ ماڈیول مالک کے طور پر سلوک کیا جاتا ہے.

اگر دانییل / proc / sys / kernel / tainted flag کی حمایت کرتا ہے تو اس صورت میں گیس یا بغیر ٹھنڈا پرچم ایک جی پی ایل لائسنس کے بغیر کسی ماڈیول کو لوڈ کرتے وقت '1' کے ساتھ کرے گا. ایک انتباہ جاری کیا جاتا ہے اگر دانی کی مدد کرتا ہے، اور ماڈیول لائسنس کے بغیر بھری ہوئی ہے. ایک انتباہ ہمیشہ ماڈیولز کے لئے جاری کیا جاتا ہے جس میں MODULE_LICENSE () جو GPL مطابقت پذیر نہیں ہے، یہاں تک کہ پرانے کھنجوں پر بھی جو کہ حماقت کی حمایت نہیں کرتا. جب نئے موڈول پرانے کھنگالوں پر استعمال ہوتا ہے تو یہ انتباہ کم کرتا ہے.

insmod -f (طاقت) موڈ یا کھنگالہ پرچم '2' کے ساتھ کھنگالیں جو خالی کرنے کی حمایت کرتے ہیں. یہ ہمیشہ ایک انتباہ کا مسئلہ ہے.

کچھ دانا ڈویلپرز کی ضرورت ہوتی ہے کہ ان کے کوڈ کی طرف سے برآمد شدہ نشان صرف GPL مطابقت بخش لائسنس کے ساتھ ماڈیولز کے ذریعہ استعمال کیے جائیں. یہ علامتیں عام EXPORT_SYMBOL کے بجائے EXPORT_SYMBOL_GPL کی طرف سے برآمد کی جاتی ہیں. GPL صرف علامتوں کی طرف سے برآمد کی طرف سے اور دیگر ماڈیولز کے ذریعہ صرف ایک GPL- ہم آہنگ لائسنس کے ساتھ ماڈیولز کو نظر انداز کر رہے ہیں، ان علامتوں کو ' GPLONLY_ ' کے پہلے خط کے ساتھ / proc / ksyms میں ظاہر ہوتا ہے. ایک جی پی ایل لائسنس یافتہ ماڈیول کو لوڈ کرتے ہوئے انسموڈ پر GPLONLY_ سابقہ ​​کو نظر انداز کر دیتا ہے تاکہ ماڈیول صرف عام علامت کے نام سے اشارہ کرتا ہے، بغیر پہلے سے پہلے. جی پی ایل صرف ایک جی پی ایل مطابقت پذیر لائسنس کے بغیر ماڈیولز کے لئے دستیاب نہیں ہیں، اس میں ماڈیولز بھی شامل نہیں ہیں.

Ksymoops مدد

ماڈیولز کا استعمال کرتے وقت کونے اونی کی ڈیبگنگ کرنے میں مدد کرنے کے لئے، کلومیٹر میں کچھ علامات کو شامل کرنے کے لئے ڈیفالٹ کو روکنے کے لئے، اے ایم کے اختیارات دیکھیں. یہ علامات __insmod_modulename_ کے ساتھ شروع ہوتی ہیں . علامات منفرد بنانا ضروری ہے. مختلف ماڈیول کے ناموں کے تحت ایک ہی بار سے زیادہ ہی اعتراض لوڈ کرنا قانونی ہے. فی الحال، وضاحت شدہ علامات ہیں:

__insmod_modulename_Oobjectfile_Mmtime_Vversion

objectfile فائل کا نام ہے جو اعتراض سے بھری ہوئی تھی. اس کو یقینی بناتا ہے کہ ksymoops کوڈ کو درست اعتراض پر مل سکتا ہے. اس وقت فائل میں آخری وقت میں نظر ثانی شدہ ٹائسٹسٹیمپ ہے، صفر اگر وضع ناکام ہو. ورژن کونے کا ورژن ہے جو ماڈیول کے لئے مرتب کیا گیا تھا، -1 اگر کوئی ورژن موجود نہیں ہے. ماوول ہیڈر کے طور پر _O علامت کا ایک ہی آغاز ایڈریس ہے.

__insmod_modulename_Ssectionname_Llength

یہ علامت منتخب کردہ ELF حصوں، فی الحال .text، .rodata، .data، .bsbs اور .sbs کے آغاز میں ظاہر ہوتا ہے. یہ صرف اس صورت میں ظاہر ہوتا ہے کہ اس حصے میں غیر صفر کا سائز موجود ہے. سیکشن نام ELF سیکشن کا نام ہے، لمبائی ڈیڑھ کی سیکشن کی لمبائی ہے. یہ علامات دستیاب نہیں ہیں جب کوئی علامات دستیاب نہیں ہوتے ہیں تو یہ علامتوں کو سیکشنوں میں ksymoops نقشے کے پتوں میں مدد ملتی ہے.

__insmod_modulename_Ppersistent_filename

صرف ماڈیول کی طرف سے پیدا ہوتا ہے اگر ماڈیول میں ایک یا زیادہ پیرامیٹر موجود ہیں جو مسلسل اعداد و شمار اور مستقل اعداد و شمار کو بچانے کے لئے ایک نام کے طور پر نشان لگایا جاتا ہے (ملاحظہ کریں - اوپر، اوپر) دستیاب ہے.

کیبلل اوپ کی ڈیبگنگ کے ساتھ دوسرے ماڈیولز میں ماڈیولز میں یہ ہے کہ اوپس کے درمیان / proc / ksyms اور / proc / ماڈیولز کے مواد کو تبدیل کر سکتے ہیں اور جب آپ لاگ فائل پر عمل کرتے ہیں. اس مسئلہ پر قابو پانے میں مدد کے لئے، اگر ڈائرکٹری / var / log / ksymoops موجود ہے تو اسموڈ اور رمومو خود بخود `date +٪ Y٪ m کے ساتھ / var / log / ksymoops پر / proc / ksyms / / proc / modules پر کاپی کریں گے. ٪ d٪ H٪ M٪ S`. نظام منتظم منتظم کو بتا سکتا ہے کہ تصویر کا استعمال کرتے ہوئے سنیپشاٹ فائلوں کا استعمال کب استعمال ہوتا ہے. اس خودکار کاپی کو غیر فعال کرنے میں کوئی سوئچ نہیں ہے. اگر آپ ایسا نہیں کرنا چاہتے ہیں تو، تخلیق / var / log / ksymoops نہیں بنائیں. اگر اس ڈائرکٹری موجود ہے تو اسے جڑ کی ملکیت ہونا چاہئے اور موڈ 644 یا 600 ہونا چاہیے اور آپ ہر روز یا اس سکرپٹ کو چلائیں. مندرجہ بالا اسکرپٹ کو انسٹال کیا گیا ہے insmod_ksymoops_clean کے طور پر.

جاننے کے لئے بنیادی معلومات

NAME

insmod - loadable کنی ماڈیول انسٹال

SYNOPSIS

[ترمیم]