شما برای مطالعه این مقاله فقط 7 دقیقه وقت نیاز دارید

fsck-command-in-linux
دسته بندی : آموزش لینوکس

دستور fsck‌ در لینوکس برای رفع ارورهای فایل سیستم

5/5 - (1 امتیاز)

هدف دستور fsck‌ در لینوکس، بررسی و کشف خطاهای مرتبط با فایل سیستم های دیسک است. در واقع، ارورهایی که به خاطر سناریوهای مختلفی مثل بوت نشدن فایل سیستم، معیوب بودن فایل های سیستمی و عدم کارکرد درست درایورهای متصل شده به سیستم اتفاق می افتند، به کمک ابزار fsck‌ قابل شناسایی و حل هستند.

ابزار fsck‌، این امکان را به کاربران لینوکس می دهد که ناسازگاری های مربوط به فایل سیستم را بررسی و تعمیر کنند و از مشکلات جدی تری مثل عدم دسترسی به داده ها، خرابی فایل ها، بوت نشدن سیستم و افت سرعت/عملکرد سیستم جلوگیری کند.

پیش نیازهای دستور fsck‌ در لینوکس

  • سیستم یا سرور مجازی لینوکس
  • دسترسی به ترمینال
  • دسترسی به یک کاربر با امتیازات روت یا sudo

جهت خرید سرور مجازی لینوکس (Linux VPS) با امکانات و عملکرد فوق العاده می توانید به سایت معتبر operavps اعتماد کنید.

نحوه نصب fsck‌ در توزیع های لینوکس

ابزار fsck‌ به طور پیش فرض در اکثر توزیع های لینوکس نصب است ولی اگر به هر دلیلی، موقع اجرای این ابزار متوجه شدید که سیستم لینوکس شما مجهز به این ابزار نیست، می توانید دستور نصب fsck‌ مناسب توزیع لینوکس خود را اجرا کنید:

توزیع های مبتنی بر دبیان مثل اوبونتو

sudo apt-get update

sudo apt-get install util-linux

توزیع های مبتنی بر Red Hat مثل Centos و فدورا

sudo yum install util-linux

یا

sudo dnf install util-linux

توزیع های مبتنی بر آرچ لینوکس

sudo pacman -S util-linux

بعد از اینکه دستور نصب fsck‌ را اجرا کردید، می توانید از دستور زیر برای اطمینان از نصب این ابزار کمک بگیرید:

fsck --version

نمایش نسخه ابزار fsck در خروجی، نشانه نصب موفقیت آمیز این ابزار است.

سینتکس و آپشن های دستور fsck در لینوکس

سینتکس اصلی و پایه دستور fsck به صورت زیر است:

fsck <options> <filesystem>

در این سینتکس، filesystem می تواند یک دستگاه، پارتیشن، نقطه مانت یا هر هیچ دیگری باشد که قصد خطایابی آن را دارید. اما این option ها هستند که تعیین کننده نحوه رفتار دستور fsck هستند.

آپشن های دستور fsck

آپشنکاربرد
A-      بررسی تمام فایل سیستم ها به صورت یکجا
C-      نمایش نوار پیشرفت پروسه خطایابی
F-      بررسی اجباری فایل سیستم موردنظر (حتی در صورت تمیز بودن)
l-      قفل دستگاه موردنظر برای عدم استفاده برنامه ها از آن در حین پروسه بررسی خطاها
M-      عدم بررسی فایل سیستم های مانت شده
N-      بررسی و نمایش خطاها بدون انجام هیچ اقدام خاص (به اصطلاح، اجرای خشک)
P-      بررسی فایل سیستم ها به صورت موازی
R-      عدم بررسی فایل سیستم روت (موقع بررسی تمام فایل سیستم ها با آپشن A)
r-      ارائه آمار مربوط به هر دستگاه بررسی شده
T-      عدم نمایش عنوان
t-      تعیین نوع فایل سیستم های موردنظر برای بررسی توسط fsck
V-      ارائه یک توضیح مختصر در مورد پروسه بررسی خطاها
y-      تعمیر خودکار خطاها در حین پروسه بررسی فایل سیستم

بررسی کد های خروجی ابزار fsck

این دستور با ارائه یک سری کدهای معنی دار، اطلاعاتی را در مورد وضعیت دیسک ارائه می دهد که جدول زیر چند نمونه از این کدها را شامل می شود:

کد معنی
0      هیچ خطایی یافت نشد. سیستم در وضعیت خوبی قرار دارد.
1      خطاهای فایل سیستم برطرف شدند. اکنون، سیستم در وضعیت خوبی قرار دارد.
2      برای اینکه فایل سیستم مانت شده به درستی بررسی شود، باید سیستم خود را ریبوت کنید. 
4      خطاهای فایل سیستم شناسایی شدند ولی تصحیح نشدند.
8      خطای عملیاتی رخ داده است که می تواند از خطای سخت افزار یا سینتکس اشتباه ناشی باشد.
16      خطای سینتکسی
32      لغو عملیات بررسی به خاطر درخواست کاربر
128      خطای کتابخانه اشتراکی

مثال های کاربردی از دستور fsck لینوکس

حالا که با سینتکس و آپشن های این دستور لینوکسی آشنا شدید، وقت آن است که کاربردهای مختلف آن را با استفاده از مثال ها بررسی کنیم تا برایتان قابل درک تر باشند.

ابتدا قبل از هر کاری بهتر است لیست پارتیشن ها و دیسک های مانت شده را بررسی کنید تا بتوانید استفاده درست تری از دستور fsck داشته باشید.

قدم اول) مشاهده لیست دیسک ها و پارتیشن هاسی فایل سیستم

برای این کار می توانید از دستور زیر استفاده کنید:

df -h

بررسی فایل سیستم های هارد دیسکحالا برای این پارتیشن های مربوط به هر کدام از دیسک ها را ببینید، کافیست اسم دیسک را در دستور زیر لحاظ کنید:

sudo parted /dev/sda 'print'

قدم دوم) unmoumt کردن پارتیشن یا دستگاه موردنظر

fsck قادر به بررسی دیسک ها و پارتیشن های مانت شده نیست و برای اینکه بتوانید از fsck برای اسکن آنها استفاده کنید، ابتدا باید آن را unmount کنید:

sudo umount /dev/sdX

بعد از اینکه پروسه بررسی و تعمیر پارتیشن موردنظر تکمیل شد، با اجرای دستور mount، مجدداً آن را مانت کنید.

کلیک کنید  آموزش تصویری نصب آرچ لینوکس با فلش (راهنمای مبتدیان)

حالا دیگ وقت بررسی مثال های کاربردی مربوط به fsck است. 

بررسی وضعیت تمام فایل سیستم ها به صورت همزمان و تعمیر خطاها

sudo fsck -A

* برای اینکه هر بار بعد از اجرای دستور fsck نیازی به وارد کردن y جهت تایید پروسه تعمیر نباشد، می توانید آن را در خود دستور لحاظ کنید:

sudo fsck -A -y

اگر می خواهید از بررسی فایل سیستم روت / توسط ابزار fsck جلوگیری کنید، کافیست آپشن R را به دستور بالا اضافه کنید:

sudo fsck -AR -y

بررسی و تعمیر خطاهای یک یا چند فایل سیستم خاص

sudo fsck /dev/sdb -y

sudo fsck /dev/sda2 /dev/sdb1 -y

بررسی خطای فایل سیستم موردنظر بدون اجرای عملیات تعمیر

sudo fsck -n /dev/sdb1

بررسی و تعمیر نوع خاصی از فایل سیستم ها

* برای اطلاع از نوع فایل سیستم های لینوکس خود می توانید از دستور زیر استفاده کنید:

findmnt

بررسی نوع فایل سیستم هاحالا اگر نوع خاصی از پارتیشن ها یا دستگاه ها را در نظر گرفته اید و می خواهید آنها را با استفاده از دستور fsck در لینوکس بررسی و تعمیر کنید، کافیست نوع آن را همراه آپشن t در دستور زیر لحاظ کنید:

sudo fsck -AR -t ext4 -y

بررسی و تعمیر خطاهای تمام فایل سیستم ها به جز نوع فایل سیستم موردنظر

sudo fsck -AR -t noext4 -y

همراه شدن آپشن t با no (پیشوند فایل سیستم) باعث می شود که دستور fsck تمام فایل سیستم ها به جز فایل سیستم هایی که از نوع ext4 هستند را بررسی و تعمیر کند.

نمایش نوار پیشرفت از پروسه بررسی خطاهای فایل سیستم

sudo fsck -C /dev/sdb -y

بررسی اجباری فایل سیستم موردنظر توسط fsck

سبک کار fsck به این صورت است که به طور خودکار فایل سیستم های تمیز را بدون بررسی رد می کند. حالا اگر می خواهید کاری کنید که fsck به صورت اجباری، یک دستگاه یا پارتیشن تمیز را بررسی کند، کافیست آپشن f را به آن اضافه کنید:

sudo fsck -f /dev/sdb -y

عدم بررسی فایل سیستم های مانت/نصب شده

sudo fsck -M /dev/sdb -y

اگر پارتیشن یا دستگاهی که در دستور لحاظ کردید، به یک دایرکتوری خاص فایل سیستم مانت شده باشد، آپشن M از بررسی آن خودداری می کند.

نمایش خروجی fsck به صورت Verbose

sudo fsck -v /dev/sdb -y

استفاده از این آپشن باعث می شود که جزئیات بیشتری در مورد عملیات بررسی و تعمیر خطاها توسط fsck ارائه شود.

عدم نمایش عنوان دستور fsck در خروجی

sudo -TAR

این آپشن، عنوانی شبیه fsck from util-linux را از خروجی دستور fsck حذف می کند.

برای دسترسی به اطلاعات بیشتر در مورد دستور fsck در لینوکس می توانید از دستورات زیر استفاده کنید:

man fsck

fsck --help

تعمیر فایل سیستم روت توسط دستور fsck

همانطور که می دانید فایل سیستم روت لینوکس همیشه در حال استفاده است و قابل unmount شدن نیست. به همین خاطر، ابزار fsck قادر به بررسی و تعمیر خطاهای پارتیشن های روت نیست.

اگر به هر دلیلی نیاز به تعمیر فایل سیستم روت دارید، باید یک سری مراحل خاص را اجرا کنید تا بتوانید از fsck برای بررسی و تعمیر فایل سیستم روت استفاده کنید:

  • تمام برنامه های سیستم لینوکس خود را ببندید و آن را ریبوت کنید:
sudo reboot
  • کلید Shift را فشار داده و نگه دارید تا منوی GNU GRUB باز شود.
  • گزینه Advanced options را انتخاب کنید.کلیک روی Advance Options
  • گزینه recovery mode را انتخاب کنید تا منوی Recovery باز شود.انتخاب گزینه Recovery Mode
  • گزینه fsck را انتخاب کنید و از پنجره باز شده، گزینه Yes را انتخاب کنید.

انتخاب دستور fsck در لینوکس

کلیک روی yes

  • سپس، گزینه resume را انتخاب کنید تا سیستم شما بوت شود.انتخاب گزینه resume

اکنون می توانید از دستور fsck در لینوکس برای خطایابی فایل سیستم و پارتیشن های روت خود استفاده کنید.

برای اطلاع از پارتیشن های روت سیستم خود می توانید از ابزار fdisk و parted در لینوکس استفاده کنید.

فعال سازی قابلیت اجرای اجباری fsck موقع بوت

اگر می خواهید وضعیت سیستم فایل در هر بار بوت بررسی شود و همان موقع، خطاهای احتمالی شناسایی و برطرف شوند، باید فایل forcefsck را در پارتیشن ریشه سیستم لینوکس ایجاد کرده و آن را ویرایش کنید:

پس ترمینال را باز کنید.

دستور زیر را اجرا کنید تا فایل forcefsck ایجاد شود:

sudo touch /forcefsck

خطوط زیر را در این فایل وارد کنید:

fsck.mode=force

fsck.repair=yes

فایل را ذخیره کرده و ببندید.

اگر سرعت بالا آمدن و بوت شدن سیستم برایتان مهم است، فعال سازی این قابلیت می تواند به ضرر شما تمام شود چون پروسه بررسی و تعمیر خطاها توسط fsck می تواند زمان بر باشد و بعداً برای شما دردسر ساز شود.

بررسی نکات مهم برای استفاده از دستور fsck در لینوکس

  • برای اجرای دستورات fsck حتماً باید از امتیازات روت یا sudo برخوردار باشید.
  • برای جلوگیری از هر گونه احتمال از دست دادن داده، بهتر است قبل از اجرای fsck از فایل های مهم خود بکاپ بگیرید.
  • برای اینکه بتوانید پارتیشن یا دستگاهی را با fsck تعمیر کنید، باید ابتدا آن را unmount کنید.
  • بعد از بررسی و تعمیر fsck، حتماً باید پارتیشن موردنظر را مجدداً mount کنید.
  • فایل سیستم روت قابل unmount شدن نیست و برای اسکن آن باید fsck را از طریق منوی ریکاوری بوت فعال کنید.
  • بررسی منظم فایل سیستم توسط fsck ایده خوبی برای حفظ سلامتی دیسک سیستم است.
  • به پیام ها و کدهای خروجی دستور fsck در لینوکس توجه کنید چون می توانند اطلاعات مفیدی را برای خطایابی دیسک ارائه دهند.

سخن آخر

fsck یک ابزار قدرتمند برای مدیریت بهتر فایل سیستم ها است که اگر هدف هر کدام از آپشن ها و نحوه استفاده از آن را یاد بگیرید و عملیات خطایابی با fsck را به طور منظم اجرا کنید، مطمئن باشید که پایداری، یکپارچگی و قابلیت اطمینان هارد دیسک سیستم شما برای همیشه حفظ خواهد شد.

مطالب مشابهی که شاید علاقمند باشید

من زهرا پیرجانی دانشجوی رشته نرم افزار هستم. علاقه ای که به یادگیری مطالب جدید دارم باعث شد که انگیزم برای فعالیت در حوزه تولیدمحتوا بیشتر شود. تمام تلاشم این است که با درک کامل موضوع، محتوایی ساده و کامل تهیه کنم که برای همه علاقمندان مفید و کاربردی باشد. یادگیری مطالب جدید و آموزش اونها به بقیه، بهترین کاری هست که می توانم برای رشد خودم و همچنین کمک به رشد علاقمندان به مباحث مورنظر انجام بدم.

دیدگاه های شما

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید