<ก่อนหน้านี้ | Contents | ถัดไป>
ง.8 /etc/rc.d/init.d/checkfs
# / bin / sh
#################################################### ############################
# เริ่ม checkfs
#
# คำอธิบาย : ตรวจสอบระบบไฟล์
#
# ผู้เขียน : เจอราร์ด บีคแมนส์ - [ป้องกันอีเมล]
#อ.ลือเก๋า- [ป้องกันอีเมล]
#ดีเจลูคัส- [ป้องกันอีเมล]
# อัปเดต: Bruce Dubbs - [ป้องกันอีเมล]
#
# เวอร์ชัน : LFS 7.0
#
# ตามสคริปต์ checkfs จาก LFS-3.1 และรุ่นก่อนหน้า
#
#จากผู้ชายfsck
# 0 - ไม่มีข้อผิดพลาด
# 1 - แก้ไขข้อผิดพลาดของระบบไฟล์
# 2 - ระบบควรรีบูต
# 4 - ข้อผิดพลาดของระบบไฟล์ที่ไม่ได้รับการแก้ไข
# 8 - ข้อผิดพลาดในการทำงาน
# 16 - การใช้หรือข้อผิดพลาดทางไวยากรณ์
# 32 - Fsck ถูกยกเลิกโดยคำขอของผู้ใช้
# 128 - ข้อผิดพลาดของไลบรารีที่ใช้ร่วมกัน
#
################################################# ########################
### เริ่มต้นข้อมูลเริ่มต้น
# ให้: checkfs
# บังคับ-เริ่ม: udev swap $time
# ควรเริ่ม:
# จำเป็น-หยุด:
# ควรหยุด:
# ค่าเริ่มต้น - เริ่ม: S
# ค่าเริ่มต้น - หยุด:
# คำอธิบายสั้น ๆ : ตรวจสอบระบบไฟล์ในเครื่องก่อนทำการติดตั้ง
# คำอธิบาย: ตรวจสอบระบบไฟล์ในเครื่องก่อนทำการติดตั้ง
# X-LFS-จัดหาโดย: LFS
### สิ้นสุดข้อมูลเริ่มต้น
. /lib/lsb/init-functions case "${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 หยุดอย่างอื่น
log_success_msg2
fi
ถ้า [ -f /forcefsck ]; จากนั้น msg="/forcefsck พบ บังคับให้ไฟล์"
msg="${msg} ระบบตรวจสอบตามที่ร้องขอ" log_success_msg "$msg"
ตัวเลือก="-f" อื่น
ตัวเลือก=""
fi
log_info_msg "กำลังตรวจสอบระบบไฟล์..."
# หมายเหตุ: - ตัวเลือกที่เคยเป็น -p; แต่สิ่งนี้ล้มเหลวเช่นใน fsck.minix ถ้า is_true "$VERBOSE_FSCK"; แล้ว
fsck ${options} -a -A -C -T อื่น
fsck ${options} -a -A -C -T >/dev/null
fi error_value=${?}
ถ้า [ "${error_value}" = 0 ]; จากนั้น log_success_msg2
fi
ถ้า [ "${error_value}" = 1 ]; จากนั้น msg="\nWARNING:\n\nFile system errors " msg="${msg}ถูกพบและได้รับการแก้ไขแล้ว\n" msg="${msg} คุณอาจต้องการตรวจสอบอีกครั้งว่า " msg=" ${msg}ทุกอย่างได้รับการแก้ไขอย่างถูกต้อง" log_warning_msg "$msg"
fi
ถ้า [ "${error_value}" = 2 -o "${error_value}" = 3 ]; จากนั้น msg="\nWARNING:\n\nFile system errors " msg="${msg}were found and been " msg="${msg}corrected but the natural of the "
msg="${msg}ข้อผิดพลาดกำหนดให้ระบบต้องรีบูต\n\n" msg="${msg}หลังจากที่คุณกด Enter "
msg="${msg}ระบบนี้จะถูกรีบูต\n\n" log_failure_msg "$msg"
log_info_msg "กด Enter เพื่อดำเนินการต่อ..." wait_for_user
รีบูต -f
fi
ถ้า [ "${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/หยุด หยุด
fi
ถ้า [ "${error_value}" -ge 16 ]; จากนั้น msg="FAILURE:\n\nUnexpected failure " msg="${msg}running fsck. Exited with error " msg="${msg} code: ${error_value}.\n" log_info_msg $msg
ออก ${error_value}
fi
*)
ว่า C
ทางออก 0
;;
echo "การใช้งาน: ${0} {start}" exit 1
;;
# สิ้นสุดการตรวจสอบ