ارور pci bus یکی از ارور های کرنل لینوکس که در تعداد کمی از سیستم ها به وجود میاد و باعث میشود که دیسک پر بشه و سیستم بالا نیاد.
این مشکل از جای شروع شد که من خواستم از دنیای تاریک ویندوزی به دنیای گنو/لینوکس نقلمکان کنم!! با هر جور بدبختی و کندی که بود تونستم اوبونتو رو رو سیستم نصب کنم، اما بعد نصب سیستم بالا اومد ولی خیلی کند بود که اونم نیم ساعت دوام نداشت کلا صفحه رفت و با سرعت نور ارور زیر نشون میداد:
این مشکل مربوط به شناسای سختافزارهای سیستم توسط کرنل هست(معمولا کارتشبکه یا cpu ). همین طور که میدونید توی سیستم های لینوکسی هر کاری که سیستم عامل انجام میده توی لاگ ثبت میشه که این ارورها هم همانند هر ارور و خطای دیگری توی لاگهای سیستم ثبت میشوند(/var/log/).
از انجای که این ارور با سرعت نور روی صفحه نمایش داده میشود (که برای من بیش از ۲۰۰۰ خط در دقیقه بود) با همین سرعت هم توی لاگ ذخیره میشود و خیلی زود root سیستم پر میشه و سیستم دیگر توان بالا آمدن رو نداره!!
برای حل مشکل باید فایل گراب سیستم رو تغیر بدیم تا ارور های pci توی لاگ ثبت نشن.
گراب(GRUB) مرحله ی بوت شدن و نحوی بوت شدن سیستم رو تعین میکند.
خب از اینجا دیگه روند حل مشکل به دو حالت تقسیم می شود:
اگه با همون سیستمی که مشکل pci error رو داره دارین این مطلب رو میخوانید پیشنهاد میکنم به سرعت مراحل رو پیش برین چون خیلی زود دیسک پر میشه و کارتون یکم سختر میشه:)
۱. مرحله ی اول این که ترمینال رو باز کنید.
با دستور زیر به دایرکتوری که گراب در اون قرار داره میریم:
cd /etc/defu
و با دسترسی روت و هر ادیتوری که دلمون خواست فایل گراب رو باز میکنیم:
sudo nano grub
سپس در بخش GRUB_CMDLINE_LINUX_DEFAULT مثل تصویر زیر پارامتر زیر رو به اخر خط اضافه کنید:
pci=noaer
و بعد تغیرات رو ذخیره کنید و با دستور زیر گراب رو اپدیت کنید:
sudo update-grub
اگر هم باز مشکل حل نشد، به جای pci=noaer در گراب، pci=nomsi رو قرار بدید و گراب رو اپدیت کنید.
خب الان فرض کنیم از شانس بد ما دیسک پر شده و سیستم بالا نمیاد.پس باید سیستم رو به حالت ریکاوری ببریم و از اونجا فایل گراب رو تغیر بدیم و بعد هم فایلهای حجیم لاگ رو حذف کنیم.
۱.الان باید سیستم رو ریبوت کنید و به منوی گراب برید، برای این کار باید وقتی که لوگوی سیستم روی صفحه نمایش دادهشد،shift رو نگه دارید تا منوی گراب مثل تصویر زیر ظاهر شود:
۲.از منوی گراب حالت advanced mode رو انتخاب کنید.
۳.حالت recovery mode رو انتخاب کنید تا وارد محیط command line بشیم.
۴.خب حالا باید گراب رو تغیر بدیم که برای این کار باید دستور های زیر رو وارد کنیم:
با دستور زیر وارد دایرکتوری که گراب توش هست میشویم:
cd /etc/default/
با دسترسی root فایل گراب رو باز میکنیم :
sudo nano grub
و در بخش GRUB_CMDLINE_LINUX_DEFAULT پارامتر pci=noaer رو به اخر خط اضافه میکنیم.
و در اخر برای اعمال تغیرات گراب رو اپدیت میکنیم:
sudo update-grub
۵.خب الان باید فایل های لاگ رو که دیسک پر کردن حذف کنیم:
با دستور زیر به دایرکتوری لاگها میریم:
cd /var/log
برای نمایش سایز فایل :
ls -s -S -h
با دستور زیر لاگهای حجیم که syslog و kern.log هستند حذف میکنیم:
rm syslog kern.log
اگه این مطلب هر مشکلی از هر نظری داشت خوشحال میشم بهم بگید.