ابزار کاربر

ابزار سایت


terminal:f:how_to_use_fsck_to_repair_file_system_errors_in_linux

دستور fsck ( بررسی و تعمیر سیستم فایل )

fsck مخفف filesysytem check در زمان boot شدن سیستم به بررسی سیستم که آیا مشکلی در سیستم فایل وجود دارد یا نه می پردازد یا اینکه مدیران دستور را زمانیکه سیستم فایل به مشکل بر میخورد بصورت دستی آن را برای بررسی و تعمیر سیستم فایل استفاده می کنند.
البته باید دقت کنید که از fsck نباید در سیستم فایل های Mount شده استفاده کنید زیرا باعث از دست رفتن اطلاعات و داده های سیستم فایل می شود پس لازم است سیستم فایل را umount کنید.
دو گزینه برای اجرای fsck بصورت دستی وجود دارد:

  • اینکه به single mode رفته و سیستم فایلها را unmount کنید.
  • یا اینکه از یک cd/dvd live استفاده کنید.

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

parted -l
fdisk -l

دستور fdisk ( پارتیشن بندی هارددیسک )
دستور parted (پارتیشن بندی دیسک)
بطور مثال اگر بخواهیم پارتیشن دوم از هارد اول را بررسی کنیم دستور زیر را اجرا میکنیم. در صورت اجرا یک پیغام که اگر سیستم mount باشد سیستم فایل ممکن است دچار مشکل شود.

fsck /dev/sda2

در صورتیکه فرایند بررسی سیستم فایل را انجام دهید و پس از تکمیل موفق/ناموفق فرآیند وضعیت خروجی بصورت زیر است:

  • 0: پایان موفق فرآیند بررسی سیستم فایل
  • 1: خطاهای سیستم فایل درست شده اند
  • 2: سیستم باید reboot شود.
  • 4: خطاهای سیستم فایل درست نشده است
  • 8: operational error
  • 16: usage or syntax error
  • 32:اجرا ی fsck با درخواست کاربر (سیگنال ctrl+c) خاتمه یافت
  • 128: shared-library error

البته میتوانید به جای نوشتن نام پارتیشن نام دایرکتوری که پارتیشن روی آن mount شده را بنویسید.

fsck /home

دستور fsck برای سیستم فایل های متفاوت مانند ext2, ext3, ext4 و …. بصورت مجزا وجود دارد. دستورهای زیر را اجرا کنید تا پشتیبانی fsck را از سیستم فایلهای روی سیستم تان بفهمید.

cd /sbin && ls fsck*

خروجی:

fsck         fsck.ext2  fsck.fat   fsck.hfsplus  fsck.ntfs      fsck.xfs
fsck.btrfs   fsck.ext3  fsck.gfs2  fsck.minix    fsck.reiserfs
fsck.cramfs  fsck.ext4  fsck.hfs   fsck.msdos    fsck.vfat

اجرای خالی دستور fsck بدون تعیین نوع سیستم فایل بسته به توزیعی که استفاده می کنید دارد. اگر از توزیع های بروز استفاده کنید سیستم فایل پیش فرض ext4 است. اجرای fsck همان اجرا fsck.ext4 است و برای بررسی یک سیستم فایل ext3 یا غیره باید بصورت fsck.ext3 و … استفاده کنید. خروجی دستورهای دستور fdisk و دستور parted بالا نوع سیستم فایل را نشان میدهد.

بررسی تمامی پارتیشن ها

با استفاده از سوئیچ A- می توانید یکباره تمامی پارتیشن ها را بررسی کنید در فایل etc/fstab/ آخرین ستون- ستون fs_passno است که اگر مقدارش برای یک پارتیشن 0 باشد آن پارتیشن در بررسی یکباره یا زمان boot شدن بررسی نمیشود و مقادیر بیشتر از صفر باعث چک شدن سیستم فایل میشود.

fsck -A

عدم بررسی دایرکتوری root

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

fsck -AR -y

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

و برای اینکه در بررسی یکباره کل سیستم فایل ها تنها نوع خاصی مانند ext3 مورد بررسی قرار گیرند از دستور زیر استفاده کنید:

fsck -AR -t ext3 -y

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

یا اینکه اگر میخواهید تمامی سیستم فایل ها به جز نوع ext3 مورد بررسی قرار گیرند از دستور زیر استفاده کنید:

fsck -AR -t noext3 -y

سوئیچ f-

با سوئیچ f- دستور fsck را مجبور به بررسی می کنید(بدون در نظر گرفتن خطاهای احتمالی)

fsck -f /dev/sda2

سوئیج y-

سوئیج y- در دستورهای بالا برای رفع مشکلات یافت شده بصورت خودکار توسط خود fsck استفاده می شود.

fsck -y /dev/sda2

سوئیچ y- باعث میشود زمانیکه سوالی مبنی بر رفع مشکل inode های دایرکتوری test داده میشود yes را بصورت خودکار پاس میدهد و نیازی به ورود دستی توسط شما نیست.

سوئیچ n-

با سوئیچ n- به جای رفع مشکلات لیستی از آنها به خروجی استاندارد فرستاده می شود. (چاپ روی terminal) و با این سوئیچ فقط مشکل گزارش میشود و آنرا رفع نخواهد کرد

fsck -a -AR

یا اینکه برای یک پارتیشن خاص:

fsck -a /dev/sda2
terminal/f/how_to_use_fsck_to_repair_file_system_errors_in_linux.txt · آخرین ویرایش: 2018/12/27 19:56 توسط phoenix