سیستم عامل لینوکسمقالات وب
چگونه از fsck برای برطرف کردن خطاهای فایل سیستم استفاده کنیم؟
فایل سیستم یا همان Filesystems مسئول سازماندهی داده ها، ذخیره سازی آن ها و نحوه بازیابی آن ها در مواقع مورد نیاز است. فایل سیستم ها ممکن است در بازه ای از زمان دچار مشکل شوند و بخشی از آن ها در دسترس ادمین قرار نداشته باشد. اگر فایل سیستم شما نیز دچار چنین مشکلاتی شده است در این مقاله همراه ما باشید. به کمک قابلیتی به نام fsck( بررسی ثبات و پایداری فایل سیستم ها) می توانید مشکلاتی که در فایل سیستم رخ می دهد را بررسی کنید و آن ها را برطرف نمایید. این بررسی ها را می توان به طور خودکار در طول بوت سیستم انجام داد یا ان را به صورت دستی اجرا نمود. در این مقاله سعی می کنیم این قابلیت را با هم بررسی کنیم و ببینیم چگونه می توانیم از آن برای برطرف کردن خطاهای فایل سیستم استفاده کنیم. پس همراه وب ایده باشید.
چگونه از fsck در لینوکس استفاده کنیم؟
سناریوهای مختلفی به هنگام استفاده از این قابلیت پیش روی شما قرار خواهد گرفت. به نمونه های زیر توجه کنید:
- سیستم نمی تواند به طور کامل بوت شود
- فایل هایی که در سیستم ذخیره شده مشکل دارند و اغلب خطای ورودی یا خروجی را نشان می دهند.
- درایو وصل شده همچون فلش درایو یا کارت های حافظه به درستی کار نمی کنند.
گزینه های موجود برای استفاده از قابلیت fsck:
این دستور باید تحت دسترسی های ادمین یا روت اجرا شود. شما می توانید آن را با ارگومان های مختلفی اجرا کنید. کاربرد این موارد به نمونه و شرایط خاصی که با آن مواجه هستید بستگی خواهد داشت. در ادامه مهم ترین گزینه هایی که پیش رو دارید را مشاهده می کنید:
- -A :برای بررسی فایل سیستم مورد استفاده قرار می گیرد. این فهرست از /etc/fstab گرفته می شود.
- -C: نوار پیشرفت کار را نشان می دهد.
- -L : دستگاه را قفل می کند تا مطمئن شود برنامه دیگری از پارتیشن مربوط به هنگام بررسی آن استفاده نمی کند.
- -M : این گزینه باعث می شود قابلیت Fsck فایل سیستم تعبیه شده را بررسی نکند.
- -N : تنها کارهایی که می توان انجام داد را نشان می دهد و تغییرات اصلی ایجاد شده را نشان نمی دهد.
- -P: زمانی مورد استفاده قرار می گیرد که بخواهید فایل سیستم را به موازات با بوت بررسی کنید.
- -R: فایل سیستم روت را بررسی نمی کند.
- -r : آمارهایی را برای هر دستگاهی که بررسی می شود ارائه می کند.
- -T : تایتل را نشان نمی دهد.
- -t : نوع فایل سیستمی که باید بررسی شود را مشخص می کند.
چگونه از fsck برای برطرف کردن مشکلات و خطاهای فایل سیستم استفاده کنیم؟
برای اینکه بتوانید این قابلیت را اجرا کنید باید مطمئن شوید که پارتیشن درستی را انتخاب کرده اید و آن پارتیشن Mount نشده است. در این مقاله ما از درایو ثانویه /dev/sdb استفاده می کنیم. اجازه دهید ببینیم اگر بخواهیم fsck را به هنگام mount بودن این پارتیشن اجرا کنیم چه اتفاقی رخ می دهد:
1 | # fsck /dev/sdb |
بعد از اجرای این دستور با پیامی همچون پیام نشان داده شده در شکل زیر مواجه خواهیم شد:
برای برطرف کردن این مشکل دستور زیر را وارد می کنیم:
1 | # umount /dev/sdb |
حالا می توانید به راحتی از قابلیت fsck استفاده کنید:
1 | # fsck /dev/sdb |
درک کدهای fsck:
بعد از اینکه fsck را اجرا کردید کد exit را برایتان باز می گرداند. این کدها را می توان در راهنمای دستی fsck و با اجرای دستور زیر مشاهده کرد:
1 | # man fsck |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 0 No errors 1 Filesystem errors corrected 2 System should be rebooted 4 Filesystem errors left uncorrected 8 Operational error 16 Usage or syntax error 32 Checking canceled by user request 128 Shared-library error |
برطرف کردن خطاهای فایل سیستم به کمک این قابلیت:
گاهی از اوقات ممکن است بیش از یک خطا در فایل سیستم وجود داشته باشد. در چنین شرایطی باید کاری کنید که fsck به طور خودکار خطاهای موجود را برطرف کند. اینکار را می توان به کمک دستور زیر انجام داد:
1 | # fsck -y /dev/sdb |
عبارت -y در این دستور به طور خودکار عبارت yes را برای هر سوالی که پرسیده می شود تایپ می کند و خطاهای موجود را اصلاح می نماید. همچنین می توانید دستور زیر را بدون کاربر روت بر روی همه فایل سیستم ها اجرا کنید:
1 | $ fsck -AR -y |
چگونه دستورات fsck را بر روی پارتیشن روت لینوکس اجرا کنیم؟
در برخی از شرایط ممکن است نیاز داشته باشید این قابلیت را بر روی پارتیشن روت سیستم خود اجرا نمایید. از آنجایی که نمی توانید fsck را بر روی پارتیشن های mount شده اجرا کنید بهتر است گزینه های زیر را مدنظر داشته باشید:
- fsck را بر روی بوت سیستم اجرا کنید
- fsck را در حالت rescue اجرا نمایید.
ما هر دوی این موقعیت ها را بررسی خواهیم کرد.
استفاده از این قابلیت در بوت سیستم:
تکمیل این فرایند آسان است و تنها کاری که شما باید انجام دهید ایجاد فایلی به نام forcefsck در پارتیشن روت سیستم تان است. از دستور زیر برای اینکار استفاده نمایید:
1 | # touch /forcefsck |
سپس می توانید ریبوت سیستم را زمانبندی کنید یا آن را وادار به اجرا نمایید. در طول بوت آپ بعدی، fsck نیز اجرا خواهد شد. اگر داون تایم برایتان مهم است توصیه می کنیم در برنامه ریزی این قابلیت دقت کنید زیرا اگر inode های زیادی بر روی سیستم وجود داشته باشد اجرای Fsck زمانبر خواهد بود. بعد از بوت سیستم ببینید این فایل هنوز وجود دارد یا خیر:
1 | # ls /forcefsck |
اگر فایل هنوز وجود داشت می توانید آن را حذف کنید تا هر بوت اجرا نشود.
اجرای fsck در حالت rescue:
اجرای fsck در حالت rescue نیازمند مراحل بیشتری است. در ابتدا باید سیستم خود را برای ریبوت آماده کنید. سرویس های مهم همچون پایگاه داده ها را متوقف نمایید و سپس عبارت زیر را تایپ کنید:
1 | # reboot |
در طول فرایند بوت می توانید کلید شیفت را نگه دارید و منوی موجود را مشاهده کنید. از منوی نمایش داده شده عبارت Advanced options و سپس Recovery mode را انتخاب نمایید. در منوی بعدی عبارت fsck را انتخاب کنید.
از شما پرسیده می شود که آیا دوست دارید فایل سیستم remount شود یا خیر . عبارت yes را انتخاب کنید.
سپس می توانید با انتخاب عبارت resume به صورت نرمال بوت کنید.
نتیجه گیری:
در این آموزش نحوه استفاده از fsck را بر روی فایل سیستم لینوکس یاد گرفتید.