هنگامی که می خواهید خطاها را عیب یابی کنید، گزارش های سیستم بهترین دوست شما هستند. در اینجا همه چیزهایی است که باید در مورد نظارت بر لاگ ها در اوبونتو بدانید.
زمانی که رایانه شما به درستی کار نمی کند و نمی دانید چرا، بسیار خسته کننده است. در حالی که برای هر مشکلی که ممکن است در اوبونتو با آن مواجه شوید راه حل های آسانی وجود ندارد، می توانید از منابعی مانند گزارش خطاهای اوبونتو برای عیب یابی و تشخیص مشکلات رایانه شخصی خود استفاده کنید.
لاگ اوبونتو چیست؟
گزارشهای اوبونتو فایلهای جامعی هستند که رکوردی از تمام رویدادهایی که در رایانه شما رخ میدهند ذخیره میکنند. این شامل اطلاعات ثبت شده در مورد سخت افزار، سیستم عامل و حتی برخی از نرم افزار شما می باشد.
این گزارشها برای فرآیند عیبیابی و تشخیص بسیار ارزشمند هستند. آنها اطلاعاتی مانند مُهرهای زمانی، زمینه، و جزئیات عمیق در مورد رویدادهایی که در سراسر سیستم شما رخ می دهند را ارائه می دهند. برای استفاده از این لاگ ها، ابتدا باید مهم ترین انواع آن را بدانید.
انواع لاگ اوبونتو
اوبونتو به جای نوشتن هر بیت از اطلاعات در یک گزارش، اطلاعات را در گزارشهای جداگانهای که برای اهداف مختلف طراحی شدهاند، ثبت میکند. در حالی که بسیاری از گزارشها برای فهرست کردن وجود دارد، چند گزارش مهم (و انواع گزارشها) وجود دارد که باید قبل از استفاده از آنها برای عیبیابی از آنها آگاه باشید.
شاید برجستهترین لاگها مجله systemd باشد. systemd یک مدیر سرویس یکپارچه در لینوکس است. در نتیجه، مسائل مربوط به بسیاری از خدمات سیستم عامل مختلف در مجله systemd ثبت می شود. می توانید با دستور journalctl در این گزارش حرکت کنید.
گزارش های سیستم نیز بسیار مهم هستند. این گزارشها مستقیماً به بخشهای مختلف اوبونتو مربوط میشوند و ممکن است شامل مواردی مانند پیامهای سیستم باشند. برخی از گزارش های سیستم عبارتند از:
- گزارش مجوز: هر فرآیندی که نیاز به مجوز داشته باشد، مانند دستور sudo یا ورود به سیستم کاربر، در این گزارش ثبت می شود.
- Daemon Log: این گزارش مربوط به هر سرویس پسزمینه (یا دیمونها)، مانند بلوتوث و SSH است.
- Debug Log: این گزارش اطلاعات اشکال زدایی ارائه شده توسط سیستم و همچنین برنامه هایی که به syslogd وارد می شوند را ارائه می دهد.
- گزارش هسته: این گزارش شامل سوابق فعالیت های مربوط به هسته لینوکس است.
- گزارش سیستم: این گزارش رکوردهایی را ذخیره می کند که شامل اکثر انواع فعالیت های سراسری در سیستم شما می شود.
- Log Fail: این گزارش سوابق ورود ناموفق را ذخیره میکند، که به ویژه برای بررسی اینکه آیا کسی تلاش کرده است به سیستم شما نفوذ کند مفید است.
رایانه شما همچنین ممکن است گزارش های برنامه (مانند فایل های گزارش آپاچی یا فایل های گزارش MySQL) در فهرست /var/log ذخیره شده باشد. میتوانید از دستور ls برای مشاهده همه فایلهای گزارشی که در حال حاضر در رایانه خود ذخیره شدهاند استفاده کنید:
ls /var/log
نحوه خواندن لاگ در اوبونتو
اکنون که با انواع مختلف گزارشها در سیستم خود آشنا شدهاید، آماده هستید تا اطلاعاتی را که آنها ذخیره میکنند بررسی کنید. قبل از شروع، مهم است که توجه داشته باشید که همه گزارشهای سیستم به یک شکل نوشته نمیشوند.
برخی از گزارشها بهعنوان فایل متنی ساده ذخیره میشوند در حالی که گزارشهای دیگر بهعنوان فایلهای باینری ذخیره میشوند. اگر میخواهید به طور مؤثر رکوردهای سیستم خود را تجزیه کنید، باید با هر دو نوع فایل – و ابزارهای خط فرمان که با آنها جفت شدهاند آشنا شوید.
گزارشهای فایل متن ساده از الگویی به نام RSYSLOG_TraditionalFileFormat استفاده میکنند و شامل چهار فیلد اصلی است: مهر زمانی، نام میزبان، برنامه کاربردی و پیام. به عنوان مثال، گزارش هسته از این الگو استفاده می کند:
برخلاف گزارشهای متن ساده، گزارشهای فایل باینری را نمیتوان به راحتی خواند. برای خواندن گزارش هایی مانند utmp، wtmp و btmp، باید از ابزارهای خط فرمان مانند who، last و lastb استفاده کنید. دستوراتی مانند utmpdump برای انواع utmp و systemctl برای journald نیز برای چاپ اطلاعات ثبت باینری در قالبی قابل خواندن طراحی شده اند.
در بیشتر مواقع، دانستن نحوه تجزیه و تحلیل موثر این گزارشها در ترمینال مهم خواهد بود. شما می توانید از دستوراتی مانند grep و tail برای استخراج اطلاعات خاص بدون نیاز به خواندن دقیق کل گزارش های سیستم خود استفاده کنید.
برخی از بهترین دستوراتی که می توانید استفاده کنید عبارتند از:
- grep: رشته ای از کاراکترها را در یک فایل جستجو می کند
- tail: 10 خط از انتهای یک فایل را چاپ می کند
- head: 10 خط را از ابتدای یک فایل چاپ می کند
- مرتب سازی: فایلی را که مطابق با مشخصات شما سازماندهی مجدد شده است چاپ می کند
ابزارهای خط فرمان مانند utmpdump و systemctl نیز دارای پرچم های مفیدی هستند که باید هنگام کار در ترمینال به خاطر داشته باشید. این پرچمها به شما امکان میدهند دستور را تغییر دهید و کنترل بیشتری روی آنچه در ترمینال چاپ میشود، داشته باشید.
برخی از پرچمهای مفید برای دستور journalctl عبارتند از:
- -b: باعث می شود journalctl فقط ورودی های جمع آوری شده پس از آخرین راه اندازی مجدد را برگرداند
- –از «YYYY-MM-DD HH:MM:SS» –تا «YYYY-MM-DD HH:MM:SS»: به journalctl دستور می دهد فقط ورودی های قبل و/یا بعد از تاریخ های مشخص شده را برگرداند
- -p NUM: ورودیها را براساس سطوح اولویت syslog فیلتر میکند (از 0/emerg تا 7/debug)
عیب یابی خطاها با لاگ اوبونتو
اکنون که با انواع مختلف گزارشهای سیستم آشنا شدهاید و میدانید چگونه آنها را به طور موثر مطالعه کنید، تنها کاری که باید انجام دهید این است که اطلاعاتی را که جمعآوری کردهاید در فرآیند عیبیابی اعمال کنید. این فرآیند معمولاً به خلاقیت نیاز دارد.
ایده خوبی است که ابتدا با فکر کردن به ویژگی های برجسته موضوعی که با آن سروکار دارید، به عیب یابی نزدیک شوید. آیا وقتی برنامه خاصی را باز می کنید این مشکل پیش می آید؟ آیا هر بار که مشکل پیش می آید سیستم شما از کار می افتد و راه اندازی مجدد می شود؟
وقتی به ویژگی های موضوع فکر می کنید، طبیعتاً شما را به برخی از بهترین گزارش ها برای جمع آوری اطلاعات در مورد آن می رساند. برای مثال، اگر سیستم شما در طول فرآیند بوت مشکل دارد، ممکن است بتوانید با ارجاع به ورودی های بوت در ژورنال، اطلاعات مفیدی به دست آورید.
دستور زیر را برای چاپ تمام چکمه های ثبت شده در ژورنال وارد کنید:
journalctl --list-boots
ترمینال لیستی از چکمه های ضبط شده را چاپ می کند. جدیدترین چکمه ها در انتهای لیست یافت می شوند. به تاریخ ها و زمان های ثبت شده برای هر بوت نگاه کنید تا زمانی که بتوانید بوت ثبت شده ای را پیدا کنید که در آن خطا رخ داده است.
عدد را از سمت چپ ترین ستون به عنوان NUM بگیرید و دستور زیر را وارد کنید تا اطلاعات بیشتری در مورد بوت دریافت کنید:
journalctl -b -NUM -n
یک رکورد جامع از اطلاعات مربوط به بوت نمایش داده خواهد شد. اگر هر گونه خطای غیرعادی در طول فرآیند بوت رخ داد، می توانید از اطلاعات این رکورد برای گامی بیشتر در عیب یابی آنها استفاده کنید.
همین اصل در مورد بسیاری از مسائل دیگر نیز صدق می کند. با این حال، اگر در مورد مشکلی که رایانه شما با آن مواجه است اطلاعات زیادی ندارید، ممکن است دانستن اینکه از کجا شروع کنید دشوار باشد. چندین گزارش وجود دارد که به ویژه برای طیف گسترده ای از مشکلات سیستم های اوبونتو مفید هستند.
syslog بهترین گزارش برای شروع در طول فرآیند عیب یابی است. از آنجایی که به طور موثر یک گزارش جهانی است، به احتمال زیاد اطلاعاتی در مورد مشکلی که شما با آن سروکار دارید دارد. اگر با احراز هویت (مثلاً خطای عدم کارکرد رمز عبور sudo) یا راهاندازی مشکل دارید، auth.log یا boot.log را بررسی کنید.
مرتبط ترین گزارش ها را با کلمات کلیدی مرتبط با مشکل خود جستجو کنید. به عنوان مثال، اگر در احراز هویت با مشکل مواجه هستید، می توانید با دستور زیر رکوردها را از auth.log بیرون بکشید:
cat /var/log/auth.log | grep 'Authentication failure'
در نهایت، مطمئناً اطلاعاتی را خواهید یافت که بینش عالی ارائه می دهد. هنگامی که اطلاعات گزارش های خطا را با تحقیقات در وب جفت می کنید، به احتمال زیاد منابعی را پیدا می کنید که به شما کمک می کند مشکلات سیستم خود را در کوتاه ترین زمان حل کنید.
برای عیب یابی خطاهای لینوکس به منابع آنلاین مراجعه کنید
شما مجبور نیستید به تنهایی مراحل عیب یابی را طی کنید. همانطور که اطلاعات مربوط به مشکل رایانه خود را جمع آوری می کنید، باید از منابع آنلاین مانند Ask Ubuntu و راهنمای دقیق در MakeUseOf استفاده کنید تا به تشخیص نهایی و تعمیر رایانه شخصی خود نزدیک شوید.