سیستم عامل لینوکسمقالات وب
چگونه از fsck برای برطرف کردن خطاهای فایل سیستم استفاده کنیم؟

فایل سیستم یا همان Filesystems مسئول سازماندهی داده ها، ذخیره سازی آن ها و نحوه بازیابی آن ها در مواقع مورد نیاز است. فایل سیستم ها ممکن است در بازه ای از زمان دچار مشکل شوند و بخشی از آن ها در دسترس ادمین قرار نداشته باشد. اگر فایل سیستم شما نیز دچار چنین مشکلاتی شده است در این مقاله همراه ما باشید. به کمک قابلیتی به نام fsck( بررسی ثبات و پایداری فایل سیستم ها) می توانید مشکلاتی که در فایل سیستم رخ می دهد را بررسی کنید و آن ها را برطرف نمایید. این بررسی ها را می توان به طور خودکار در طول بوت سیستم انجام داد یا ان را به صورت دستی اجرا نمود. در این مقاله سعی می کنیم این قابلیت را با هم بررسی کنیم و ببینیم چگونه می توانیم از آن برای برطرف کردن خطاهای فایل سیستم استفاده کنیم. پس همراه وب ایده باشید.
چگونه از fsck در لینوکس استفاده کنیم؟
سناریوهای مختلفی به هنگام استفاده از این قابلیت پیش روی شما قرار خواهد گرفت. به نمونه های زیر توجه کنید:
- سیستم نمی تواند به طور کامل بوت شود
- فایل هایی که در سیستم ذخیره شده مشکل دارند و اغلب خطای ورودی یا خروجی را نشان می دهند.
- درایو وصل شده همچون فلش درایو یا کارت های حافظه به درستی کار نمی کنند.
گزینه های موجود برای استفاده از قابلیت Fsck:
این دستور باید تحت دسترسی های ادمین یا روت اجرا شود. شما می توانید آن را با ارگومان های مختلفی اجرا کنید. کاربرد این موارد به نمونه و شرایط خاصی که با آن مواجه هستید بستگی خواهد داشت. در ادامه مهم ترین گزینه هایی که پیش رو دارید را مشاهده می کنید:
- -A :برای بررسی فایل سیستم مورد استفاده قرار می گیرد. این فهرست از /etc/fstab گرفته می شود.
- -C: نوار پیشرفت کار را نشان می دهد.
- -L : دستگاه را قفل می کند تا مطمئن شود برنامه دیگری از پارتیشن مربوط به هنگام بررسی آن استفاده نمی کند.
- -M : این گزینه باعث می شود قابلیت Fsck فایل سیستم تعبیه شده را بررسی نکند.
- -N : تنها کارهایی که می توان انجام داد را نشان می دهد و تغییرات اصلی ایجاد شده را نشان نمی دهد.
- -P: زمانی مورد استفاده قرار می گیرد که بخواهید فایل سیستم را به موازات با بوت بررسی کنید.
- -R: فایل سیستم روت را بررسی نمی کند.
- -r : آمارهایی را برای هر دستگاهی که بررسی می شود ارائه می کند.
- -T : تایتل را نشان نمی دهد.
- -t : نوع فایل سیستمی که باید بررسی شود را مشخص می کند.
چگونه از fsck برای برطرف کردن مشکلات و خطاهای فایل سیستم استفاده کنیم؟
برای اینکه بتوانید این قابلیت را اجرا کنید باید مطمئن شوید که پارتیشن درستی را انتخاب کرده اید و آن پارتیشن Mount نشده است. در این مقاله ما از درایو ثانویه /dev/sdb استفاده می کنیم. اجازه دهید ببینیم اگر بخواهیم fsck را به هنگام mount بودن این پارتیشن اجرا کنیم چه اتفاقی رخ می دهد:
# fsck /dev/sdb
بعد از اجرای این دستور با پیامی همچون پیام نشان داده شده در شکل زیر مواجه خواهیم شد:
برای برطرف کردن این مشکل دستور زیر را وارد می کنیم:
# umount /dev/sdb
حالا می توانید به راحتی از قابلیت fsck استفاده کنید:
# fsck /dev/sdb
درک کدهای fsck:
بعد از اینکه fsck را اجرا کردید کد exit را برایتان باز می گرداند. این کدها را می توان در راهنمای دستی fsck و با اجرای دستور زیر مشاهده کرد:
# man fsck
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 به طور خودکار خطاهای موجود را برطرف کند. اینکار را می توان به کمک دستور زیر انجام داد:
# fsck -y /dev/sdb
عبارت -y در این دستور به طور خودکار عبارت yes را برای هر سوالی که پرسیده می شود تایپ می کند و خطاهای موجود را اصلاح می نماید. همچنین می توانید دستور زیر را بدون کاربر روت بر روی همه فایل سیستم ها اجرا کنید:
$ fsck -AR -y
چگونه دستورات fsck را بر روی پارتیشن روت لینوکس اجرا کنیم؟
در برخی از شرایط ممکن است نیاز داشته باشید این قابلیت را بر روی پارتیشن روت سیستم خود اجرا نمایید. از آنجایی که نمی توانید fsck را بر روی پارتیشن های mount شده اجرا کنید بهتر است گزینه های زیر را مدنظر داشته باشید:
- fsck را بر روی بوت سیستم اجرا کنید
- fsck را در حالت rescue اجرا نمایید.
ما هر دوی این موقعیت ها را بررسی خواهیم کرد.
استفاده از این قابلیت در بوت سیستم:
تکمیل این فرایند آسان است و تنها کاری که شما باید انجام دهید ایجاد فایلی به نام forcefsck در پارتیشن روت سیستم تان است. از دستور زیر برای اینکار استفاده نمایید:
# touch /forcefsck
سپس می توانید ریبوت سیستم را زمانبندی کنید یا آن را وادار به اجرا نمایید. در طول بوت آپ بعدی، fsck نیز اجرا خواهد شد. اگر داون تایم برایتان مهم است توصیه می کنیم در برنامه ریزی این قابلیت دقت کنید زیرا اگر inode های زیادی بر روی سیستم وجود داشته باشد اجرای Fsck زمانبر خواهد بود. بعد از بوت سیستم ببینید این فایل هنوز وجود دارد یا خیر:
# ls /forcefsck
اگر فایل هنوز وجود داشت می توانید آن را حذف کنید تا هر بوت اجرا نشود.
اجرای fsck در حالت rescue:
اجرای fsck در حالت rescue نیازمند مراحل بیشتری است. در ابتدا باید سیستم خود را برای ریبوت آماده کنید. سرویس های مهم همچون پایگاه داده ها را متوقف نمایید و سپس عبارت زیر را تایپ کنید:
# reboot
در طول فرایند بوت می توانید کلید شیفت را نگه دارید و منوی موجود را مشاهده کنید. از منوی نمایش داده شده عبارت Advanced options و سپس Recovery mode را انتخاب نمایید. در منوی بعدی عبارت fsck را انتخاب کنید.
از شما پرسیده می شود که آیا دوست دارید فایل سیستم remount شود یا خیر . عبارت yes را انتخاب کنید.
سپس می توانید با انتخاب عبارت resume به صورت نرمال بوت کنید.
نتیجه گیری:
در این آموزش نحوه استفاده از fsck را بر روی فایل سیستم لینوکس یاد گرفتید.