D.8. /etc/rc.d/init.d/checkfs
# / بن / SH
############################################### #####################
# چکافها را شروع کنید
#
# توضیحات: بررسی سیستم فایل
#
# نویسنده : جرارد بیکمنز - [ایمیل محافظت شده]
# A. Luebke - [ایمیل محافظت شده]
# دی جی لوکاس - [ایمیل محافظت شده]
# به روز رسانی: بروس دابز - [ایمیل محافظت شده]
#
# نسخه: LFS 7.0
#
# بر اساس اسکریپت checkfs از LFS-3.1 و قبل از آن.
#
# از مرد fsck
# 0 - بدون خطا
# 1 - خطاهای سیستم فایل تصحیح شد
شماره 2 - سیستم باید راه اندازی مجدد شود
شماره 4 - خطاهای سیستم فایل تصحیح نشده باقی مانده است
# 8 - خطای عملیاتی
# 16 - خطای استفاده یا نحو
# 32 - Fsck با درخواست کاربر لغو شد
# 128 - خطای کتابخانه مشترک
#
######################################################## ##########################
### اطلاعات ورود به سیستم را شروع کنید
# ارائه می دهد: چک
# مورد نیاز-شروع: udev swap $time
# باید شروع کرد:
# مورد نیاز-توقف:
# باید متوقف شود:
# پیش فرض-شروع: S
# توقف پیش فرض:
# شرح کوتاه: فایل سیستم های محلی را قبل از نصب بررسی می کند.
# توضیحات: سیستم فایل های محلی را قبل از نصب بررسی می کند.
# X-LFS-Provided-By: LFS
### اطلاعات ورود به پایان
. /lib/lsb/init-functions مورد "${1}" در
شروع)
اگر [ -f /fastboot ]; سپس msg="/fastboot پیدا شد، حذف خواهد شد"
msg="${msg} سیستم فایل طبق درخواست بررسی میشود.\n" log_info_msg "${msg}"
خروج 0
fi
log_info_msg "نصب سیستم فایل ریشه در حالت فقط خواندنی..." mount -n -o remount,ro / >/dev/null
اگر [ ${?} != 0 ]; سپس log_failure_msg2 msg="\n\nنمی توان ریشه را بررسی کرد"
msg="${msg}سیستم فایل چون نمیتوان آن را " msg="${msg}در حالت فقط خواندنی نصب کرد.\n\n"
msg="${msg}بعد از اینکه Enter را فشار دهید، این سیستم " msg="${msg} متوقف و خاموش می شود.\n\n"
log_failure_msg "${msg}"
log_info_msg "برای ادامه Enter را فشار دهید..." wait_for_user
/etc/rc.d/init.d/halt stop other
log_success_msg2
fi
اگر [ -f /forcefsck ]; سپس msg="/forcefsck پیدا شد، فایل اجباری"
msg="${msg} سیستم طبق درخواست بررسی میشود." log_success_msg "$msg"
options="-f" other
گزینه ها = ""
fi
log_info_msg "بررسی سیستم های فایل..."
# توجه: گزینه ای که قبلاً -p بود. اما اگر "$VERBOSE_FSCK" درست باشد، به عنوان مثال در fsck.minix ناموفق است. سپس
fsck ${گزینه} -a -A -C -T else
fsck ${options} -a -A -C -T >/dev/null
fi error_value=${?}
اگر [ "${error_value}" = 0 ]; سپس log_success_msg2
fi
اگر [ "${error_value}" = 1 ]; سپس msg="\nهشدار:\n\nخطاهای سیستم فایل " msg="${msg}پیدا شد و تصحیح شد.\n" msg="${msg} ممکن است بخواهید " msg=" را دوباره بررسی کنید ${msg}همه چیز به درستی رفع شد." log_warning_msg "$msg"
fi
if [ "${error_value}" = 2 -o "${error_value}" = 3 ]; سپس msg="\nهشدار:\n\nخطاهای سیستم فایل " msg="${msg}پیدا شد و " msg="${msg}اصلاح شد، اما ماهیت "
msg="${msg}خطاها نیاز به راهاندازی مجدد این سیستم دارند.\n\n" msg="${msg}بعد از اینکه اینتر را فشار دادید، "
msg="${msg}این سیستم دوباره راهاندازی میشود\n\n" log_failure_msg "$msg"
log_info_msg "برای ادامه Enter را فشار دهید..." wait_for_user
راه اندازی مجدد -f
fi
if [ "${error_value}" -gt 3 -a "${error_value}" -lt 16 ]; سپس msg="\nFAILURE:\n\nخطاهای سیستم فایل"
msg="${msg}" msg="${msg}به طور خودکار رفع نشد.\nاین سیستم " msg="${msg}نمیتواند به راهاندازی ادامه دهد و " msg="${msg}بنابراین" تا زمانی که این " msg="${msg}خطاها به صورت دستی توسط " msg="${msg}سرپرست سیستم" رفع نشوند، متوقف شود.\n\n"
msg="${msg}بعد از اینکه Enter را فشار دهید، این سیستم " msg="${msg} متوقف و خاموش می شود.\n\n"
log_failure_msg "$msg"
log_info_msg "برای ادامه Enter را فشار دهید..." wait_for_user
/etc/rc.d/init.d/halt stop
fi
if [ "${error_value}" -ge 16 ]; سپس msg="FAILURE:\n\nشکست غیرمنتظره " msg="${msg}اجرای fsck. با خطا " msg="${msg} کد: ${error_value} خارج شد.\n" log_info_msg $msg
خروج از ${error_value}
fi
*)
که C
خروج 0
;;
echo "Usage: ${0} {start}" exit 1
;;
# پایان چک