خانه / لینوکس / ۷ دستور ‘dmesg’ برای عیب یابی و جمع آوری اطلاعات سیستم های لینوکس؟

۷ دستور ‘dmesg’ برای عیب یابی و جمع آوری اطلاعات سیستم های لینوکس؟

دستور dmesg پیام های از kernel ring buffer را نمایش میدهد. یک سیستم از چندین runlevel میگذرد و ما میتوانیم اطلاعات زیادی مانند معماری سیستم، cpu، دیوایس های متصل شده، ram و غیره به دست بیاوریم. زمانی که کامپیوتر بوت میشود یک کرنل (هسته یک سیستم عامل) درون مموری لود میشود در طول این زمان تعدادی از پیام ها نمایش داده میشوند که ما میتوانیم سخت افزارهای شناسایی شده توسط کرنل را مشاهده کنیم.

این پیغام ها به منظور شناسایی مواردی از مشکلات در دیوایس و یا سایر بخش ها بسیار مفید هستند. زمانی که ما سخت افزاری را متصل و یا جدا میکنیم روی سیستم با کمک دستور dmesg میتوانیم اطلاعات شناسایی و یا قطع شدن سخت افزار را به سرعت دریابیم. دستور dmesg روی اکثر سیستم عاملی های unix و linux موجود میباشد.
حالا مروری داشته باشیم روی مثال های عملی از یکی از مشهورترین ابزار لینوکسی به نام dmesg .

۱ – لیست تمامی درایورهای متصل شده در kernel :
ما میتوانیم ابزاری مانند ‘more’ , ‘tail’ , ‘less’ یا ‘grep’ (ابزار مفید برای کار کردن با متن) را به همراه دستور dmesg استفاده کنیم.
از آنجایی که خروجی لاگ dmesg در یک صفحه جا نمیشود استفاده از دستور های more یا less که پایپ ‘|’ شده به دستور dmesg هستند میتوان لاگ ها را صفحه به صفحه نمایش داد :

۱ – لیست تمامی درایورهای متصل شده در kernel :

ما میتوانیم ابزاری مانند ‘more’ , ‘tail’ , ‘less’ یا ‘grep’ (ابزار مفید برای کار کردن با متن) را به همراه دستور dmesg استفاده کنیم.
از آنجایی که خروجی لاگ dmesg در یک صفحه جا نمیشود استفاده از دستور های more یا less که پایپ ‘|’ شده به دستور dmesg هستند میتوان لاگ ها را صفحه به صفحه نمایش داد :

Sample Output

۲ – لیست تمامی دستگاه های متصل شده :
برای پیدا کردن هارد دیسک هایی که توسط کرنل دیتکت شده اند شما میتوانید عبارت ‘sda’ را به همراه دستور grep سرچ کنید :

نکته : sda در حقیقت اولین هارد درایو SATA میباشد.sdb دومین هارد درایو SATA میباشد و sdc سومین هارد درایو میباشد و … . برای هارد درایوهای IDE از hda یا hdb و … استفاده میشود.

۳ – نمایش تنها ۲۰ خط اول از خروجی دستور dmesg :
استفاده از دستور head به همراه dmesg خطوط ابتدایی را نمایش خواهد داد به طور مثال دستور زیر تنها ۲۰ خط از ابتدای log ها را نمایش میدهد.

۴ – نمایش تنها ۲۰ خط از آخر خروجی dmesg :
دستور ‘tail’ به همراه dmesg خطوط آخر log ها را نمایش میدهد. استفاده از آن در مواردی که ‘removable device’ را به سیستم وصل میکنیم بسیار مفید است. دستور زیر ۲۰ خط آخر از لاگ dmesg را نمایش میدهد

۵ – جستجوی دستگاه های متصل شده یا string خاص :
جستجوی یک string خاص به دلیل طول خروجی dmesg کار بسیار سختی است بنابراین خطوط را که شامل string های مانند usb , dma , tty و memory و غیره هستند فیلتر میکنیم. گزینه i- دردستور grep به منظور نادیده گرفتن حروف کوچیک و بزرگ میباشد :

Sample Output

۶ – پاک کردن لاگ های بافر dmesg :
بله ما میتوانیم لاگ های dmesg را در صورت نیاز پاک کنیم. دستور زیر لاگ های ring buffer در dmesg تا زمانی که شما آن را اجرا کنید پاک خواهد کرد. البته هنوز شما میتوانید لاگ های ذخیره شده در فایل های /var/log/dmesg را مشاهده کنید. اگر شما هر دیوایسی را متصل کنید خروجی dmesg ایجاد خواهد گردید :

۷ – مانیتورینگ dmesg به صورت Real Time :
در بعضی از توضیع های لینوکسی میتوان از دستور tail -f /var/log/dmesg برای مانیتورینگ real time دستور dmesg استفاده کرد :

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *