تشخیص و پیکربندی سخت افزار (آموزش لینوکس LPIC1-101)
تشخیص و پیکربندی سخت افزار (آموزش لینوکس LPIC1-101)
معماری سیستم
همان طور که می دانید همه سیستم عامل ها بر روی سخت افزار اجرا می شوند و این سخت افزار بر روند اجرای سیستم عامل تأثیر می گذارد.
مثلا سخت افزار می تواند سریع یا کند، قابل اتکا یا دچار مشکل باشد.
پس تمام کامپیوترها به همراه مجموعه ای از قطعات سخت افزاری روانه بازار می شوند که شامل مواردی مانند پردازنده مرکزی، RAM و هارد دیسک هستند.
در قلب بسیاری از این قطعات سخت افزاری Firmware قرار دارد که ابزارهای پیکربندی رو فراهم می آورد و روند بالا آمدن سیستم عامل را هم آغاز می کند.
با مطالعه دفترچه راهنمای بسیاری از قطعات سخت افزاری می توانید در مورد Firmware آنها اطلاعات زیادی کسب کنید،
اما به یاد داشته باشید که همین که سیستم عامل لینوکس بالا آمد،
مدیریت دستگاه های سخت افزاری از طریق ابزارهایی خواهد بود که سیستم عامل لینوکس فراهم آورده است.
قسمت های کلیدی که توسط Firmware و بعد از اینکه سیستم عامل بالا آمد، توسط لینوکس مدیریت می شوند عبارتند از:
وقفه ها، آدرس های ورودی و خروجی، دسترسی مستقیم به حافظه و واسط های ATA هارد دیسک ها که خود بر دو نوع SATA و PATA هستند
که اخیراً نوع SATA آن رایج تر شده است.
Firmware
مهمترین Firmware همانی است که بر روی مادربرد سیستم نصب شده است،
که نقش راه اندازی قطعات و کنترلرهای سخت افزاری مادربرد کامپیوتر و کنترل روند بالا آمدن سیستم رو بر عهده دارد.
تا اواخر سال 2010 اکثر سیستم ها مبتنی بر BIOS بودند که مخفف عبارت Basic Input/Output System است.
از اوایل سال 2011 سیستم های جدید، مبتنی بر Firmware هستند که EFI نام دارد که مخفف Extended Firmware Interface است.
نسخه تازه تر EFI که EFI 0.2 یا همان UEFI نام دارد،
به کمک دو شرکت Microsoft و Intel توسعه یافته است که امکانات بسیار بیشتری را در مقایسه با نسخه های قبلی در اختیار مسئول سیستم قرار می دهد.
بنابراین استاندارد موجود برای سیستم های کامپیوتری جدید UEFI است.
البته به خاطر حفظ سازگاری با نسخه های قبلی سیستم های کامپیوتری بیشتر نسخه های UEFI امکان کار کردن در حالت BIOS را هم دارند.
در صورتی که قطعه ای از قطعات سخت افزاری قدیمی باشد، باز هم امکان کار با آن وجود دارد.
در ادامه ابتدا به پیکربندی سخت افزار می پردازیم و بعد هم به دقت روند بالا آمدن سیستم رو بررسی خواهیم کرد.
بررسی قطعات USB
توزیع های جدید لینوکس به همراه راه اندازهای USB ارائه شده اند و نیازی نیست که برای اتصال و راه اندازی قطعات USB معمولی کار خاصی انجام بدهید.
بنابراین اگر مثلا یک کیبورد USB رو به کامپیوترتان که بر روی آن لینوکس نصب شده است وصل کنید، لینوکس آن را خواهد شناخت.
نکته: به خاطر داشته باشید که برای استفاده از USB 0.3 باید نسخه کرنل لینوکسی که از آن استفاده می کنید 2.6,31 یا بالاتر باشد.
برای دیدن نسخه کرنل لینوکسی که دارید دستور uname -r را بزنید.
در خط فرمان لینوکس دستور زیر رو وارد کنید و سپس کلید Enter رو فشار بدهید:
lsusb $
خروجی اون به مشابه خروجی زیر خواهد بود:
با توجه به خروجی این دستور متوجه می شویم که 4 باس USB تشخیص داده شده است (بزرگترین شماره در ستون دوم 003 است)
در مثال ما هیچ دستگاهی به پورت های USB وصل نیست.
اگر دستگاهی به پورت های USB سیستمی که شما بر روی آن lsusb را اجرا می کنید متصل باشد،
در خروجی دستور lsusb اطلاعات آنها را مشاهده خواهید کرد.
توصیه می کنیم که حتماً به صفحه راهنمای این دستور (lsusb) مراجعه کنید.
برای این کار دستور man lsusb را بزنید.
این دستور آرگومان های زیادی را به شما نمایش می دهد که مهمترین آنها را در جدول زیر مشاهده می کنید:
دستور lspci
علاوه بر دستگاه های USB، قطعاتی داریم که بر روی باس های PCI کامپیوتر قرار دارند.
جهت مشاهده پیکربندی دستگاه های PCI دستور زیر را بزنید:
lspci $
مثلا فرض کنید که می خواهیم پیکربندی PCI کارت شبکه را مشاهده کنیم، دستور زیر را وارد می کنیم:
lspci | grep Eth $
که بر روی سیستم ما خروجی زیر را تولید می کند:
ما یک پورت شبکه بر روی سیستم داریم.
آدرس 02:01.0 برای این کارت شبکه به این معناست که این کارت شبکه بر روی BUS با شماره 02، اولین قطعه (01) سخت افزاری است
(معمولا اولین قطعه سرعت بالقوه بالاتری دارد) و 0. هم شماره Function آن را نمایش می دهد.
پس 02:01.0 به صورت Bus Device Function اطلاعات پیکربندی سخت افزاری را نمایش می دهد.
یکی از نکات مهمی که باید به خاطر داشته باشید این است که تا زمانی که محل اتصال قطعات سخت افزاری را در داخل کامپیوتر جا به جا نکرده باشید،
این اطلاعات ثابت خواهند بود.
به خصوص این مسئله برای کارت های شبکه اهمیت خاصی دارد چون ممکن است با ایجاد تغییرات نرم افزاری نام آنها عوض شود،
مثلا eth1 تبدیل شود به eth4 درحالی که اطلاعات پیکربندی سخت افزاری آن تا زمانی که جابه جایی سخت افزاری صورت نداده باشید، ثابت خواهد بود
(معمولا تغییرات نرم افزاری بسیار بیشتر از تغییرات سخت افزاری است)
توصیه می کنیم که حتماً با اجرای دستور man lspci به صفحه راهنمای این دستور مراجعه نمایید.
آشنایی با Kernel Modules
قطعات سخت افزاری در لینوکس توسط راه اندازهای کرنل (هسته سیستم عامل لینوکس) کنترل می شوند.
بسیاری از راه اندازهای کرنل به فرم ماژول هستند که فایل های مستقلی هستند که معمولاً در مسیر /lib/modules قرار دارند
که می توانند جهت فراهم آوردن دسترسی به قطعات سخت افزاری مرتبط با خودشان بارگذاری شوند، یا جهت غیرفعال کردن چنان دسترسی، Unload شوند.
لینوکس در هنگام بالا آمدن ماژول هایی را که نیاز دارد، را بارگذاری می کند.
فقط در صورتی که نیاز به بارگذاری ماژول های اضافی که خودتان نیاز دارید،
ممکن است که لازم باشد که توانایی Load یا Unload کردن ماژول ها را داشته باشید.
دستور زیر را وارد کنید:
lsmod $
خروجی آن به این صورت خواهد بود:
ستون اول نام تمام Module هایی را که بارگذاری شده اند نمایش می دهد.
برای کسب اطلاعات بیشتر در مورد Module خاصی می توانید دستور modinfo و بعد نام آن ماژول را وارد کنید.
ستون دوم نمایش دهنده بخش هایی است که از آن ماژول استفاده می کنند.
به خاطر داشته باشید، که خروجی دستور lspci ممکن است بر روی برخی سیستم ها بسیار طولانی شود،
به همین دلیل توصیه می کنیم که آن را به صورت lsmod | less اجرا کنید.
نکته مهم:
ممکن است شما دو کامپیوتر داشته باشید که سخت افزارهای کاملاً یکسانی دارند ولی خروجی دستور lsmod بر روی آنها متفاوت است.
یکی از دلایلی که می تواند باعث این مسئله شود این است که امکان Compile کردن و چسباندن Module به خود هسته لینوکس وجود دارد
که در این صورت دیگر نام آن در خروجی lsmod نخواهد آمد،
زیرا که آن Module دیگر بخشی از هسته سیستم عامل محسوب می شود
و از همان ابتدای کار که هسته بارگذاری می شود در حافظه اصلی حضور خواهد داشت.
برای بارگذاری Module که نیاز دارید ولی قبلاً بارگذاری نشده است، می توانید از دو دستور insmod و modprobe استفاده کنید.
به عنوان مثال:
modprobe floppy $
همان کاری را انجام می دهد که فرمان انجام خواهد داد.
insmod /lib/modules/2.6.26/kernel/drivers/block/floppy.k $
معمولا روش اول توصیه می شود.
برای Unload کردن یک Module که قبلاً بارگذاری شده است می توانید از دستور modprobe -r یا rmmode استفاده کنید.
نکته: جهت اطلاعات بیشتر صفحات man دستورات گفته شده در بالا را مطالعه کنید.
مثلاً دستور man modprobe را وارد کنید و بعد آن را مطالعه کنید.
بررسی دایرکتوری dev/
این دایرکتوری شامل فایل های ویژه جهت نمایش دستگاه های متصل شده به سیستم است.
دستورات زیر را اجرا کنید:
cd /dev $
ls -l | less $
برای رفع ابهام، در این قسمت تنها یکبار به صورت بسیار جزئی و ساده نحوه نوشتن دستور بالا را توضیح می دهیم:
توضیح دستور بالا:
بنویسید ls سپس یک فاصله قرار دهید ، بعد علامت منها را بزنید و بعد از آن، بدون فاصله l را تایپ کنید.
حالا یک فاصله قرار دهید و کلید شیفت را نگه دارید و کلید \ را بر روی کیبورد خود فشار دهید تا کاراکتر | که به آن Pipe می گویند نوشته شود.
حالا یک فاصله قرار دهید و بنویسید.
less بعد از اجرای دستور بالا، با فشار دادن فلش های بالا و پایین می توانید در متن خروجی، در صورتی که بیش از یک صفحه باشد، حرکت کنید.
برای خروج کلید q را فشار دهید.
با دقت در خروجی دستورات بالا متوجه می شویم که در زیر دایرکتوری dev/ دستگاه هایی (Devices) که به سیستم متصل هستند،
مثل ماوس، کیبورد، هارد دیسک و… قرار دارند.
در خروجی دستور بالا (ls –l | less) سمت راست ترین فیلد اسم فایل، در کنارش تاریخ و ساعت و مالک فایل و سپس مجوزهای دسترسی و استفاده از فایل است.
در لینوکس تقریباً همه چیز یک نمایش به صورت فایل دارد، بنابراین مثلا فلش درایو شما می تواند در آدرس dev/sdb/ نمود فایلی داشته باشد.
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
جدیدترین اخبار مجموعه فراز نتورک را در این صفحه اجتماعی دنبال کنید.
نویسنده: موسی رشوند
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.