شناسایی و تنظیم سخت افزارها

در سری قبلی با مفهوم HAL بیشتر آشنا شدیم و توضیح دادیم که دایرکتوری sys توسط HAL کنترل میشود و همچنین با دایرکتوری proc آشنا شدیم که تنظیمات kernel داخل اون بود. امروز قصد داریم بیشتر با Udev و دستورات مربوط به سخت افزارها آشنا بشیم و دربارشون صحبت کنیم.

در درخت دایرکتوری root, دایرکتوری به نام dev وجود دارد که به وسیله ی Udev کنترل میشه. در واقع Udev یک سری قانون هستش که بر روی HAL برای کنترل device ها قرار میدیم. دایرکتوری dev شامل تمامی دستگاه هایی است که داخل سیستم قابل mount باشند رو نشون میده.
دستوری عمومی و آشنایی در لینوکس با عنوان ls داریم ولی یه سری مستقل از این دستور هم برای راحت تر کردن دسترسی های کلی ما در سیستم موجود هست.

۱) lsusb :

تمام دستگاه های usb که به سیستم متصل هستند رو نشون میده. ممکن هست کامپیوتر اتصال یک سری سخت افزارها رو از نوع usb نشون بده. مثل مادربورد که شما از طریق usb وصل نکردید ولی سیستم شما نوع اتصال اونو usb تشخیص میده.
➜  ~ lsusb
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 064e:c21c Suyin Corp. 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

۲) lspci :

تمام دستگاه هایی که از طریق برد PCI به سیستم شما متصل است را نشون میده, و با دستور زیر میتونید لیست تمام VGA های سیستم خودتون رو ببینید.

➜  ~ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 630M] (rev a1)

3) lshw :

لیست تمامی سخت افزارها رو با ریز مشخصات و به صورت درختی نشان خواهد داد.

4) lsmod :

تمامی ماژول هایی که kernel میشناستشون رو به ما نشون میده. بذارید ساده تر توضیح بدم حتما با سری فیلم های ترانسفورمر آشنایی دارید, یه سری ماشین و سخت افزار هایی بودن که به ظاهر ساده میومدن ولی در حال خاصی به ربات تبدیل میشدن و کلی قابلیت بهشون اضافه میشد. هسته لینوکس هم به همین صورت هستش به صورت خام مثل همون ماشین های ساده میمونه که موقع بالا اومدنش کلی ماژول بهش وصل میشه و کلی قابلیت بهش اضافه میشه... منظورمون از قابلیت (ماژول) چیه؟ مثل کارت شبکه بیسیم و ...
دستوری داریم تحت عنوان
➜  ~ rmmod (module name)

این دستور جهت حذف ماژول خاصی از روی kernel میباشد. در گذشته برای اضافه کردن ماژول خاصی از دستور زیر استفاده میشد:

➜  ~ insmod (module name)

گاهی اوقات شما قصد نصب ماژول خاصی بر روی kernel را دارید ولی آن ماژول خود وابستگی های خاص خودش رو هم داره و برای کار کردن باید اون ماژول ها هم نصب باشه, به دلیل فراهم نکردن ماژول های وابسته در دستور بالا از دستور زیر برای نصب تمامی ماژول های وابسته ی خودش استفاده کرد :

➜  ~ modprobe (module name)

در واقع میشه خیلی ساده گفت دستور modprobe نسبت به دستور insmod بسیار باشعور تر و فهمیده تر هستش. :)

در قسمت های قبل گفتم یکی از قابلیت های خوب Udev این هستش که شما قانون گذاری کنید مثلا بگید اگر فلان هارد ADATA رو به سیستم زدم از پوشه ی عکس های کامپیوتر یک کپی داخلش بریز. ولی خب چالشی که این وسط هستش شناسایی اون سخت افزار منحصر به فرده, من و شما میدونیم اون هارد ADATA فلان تراباید هستش ولی برای سیستم تشخیصش سخته برای همین مفهوم جدیدی به نام UUID برای هر سخت افزار از سمت سیستم عامل تعریف شده که اون سخت افزار رو منحصر به فرد میکنه. به همین جهت برای نوشتن قوانین udev از UUID هر دستگاه میتونیم استفاده کنیم.

امیدوارم مطلب بالا مفید بوده باشه براتون و فردا هم افتخار بودن کنارتون رو داشته باشم

نویسنده : امین سالم
منبع : TOSINSO
هرگونه نشر و کپی برداری با ذکر منبع و نام نویسنده و یا بدون ذکر نام منبع به منظور نشر اطلاعات و وسیع تر شدن جامعه لینوکس و متن باز باعث خوشحالی بنده می باشد.
#دستورات_لینوکس #udev_چیست
عنوان
1 HAL ، Dbus و Udev در لینوکس رایگان
2 آشنایی بیشتر با HAL رایگان
3 شناسایی و تنظیم سخت افزارها رایگان
4 تفاوت میان BIOS و UEFI رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
تنظیمات حریم خصوصی
تائید صرفنظر

امروز ارزان تر از فردا در جشنواره تخفیف ها

با بهترین ها یاد بگیرید