OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

D.8。 /etc/rc.d/init.d/checkfs‌


图片

#!/ bin / sh的

############################################### ######################

# 开始检查

#

# 描述:文件系统检查

#

# 作者:杰拉德·比克曼斯 - [电子邮件保护]

# A.吕布克 - [电子邮件保护]

# DJ 卢卡斯 - [电子邮件保护]

# 更新:布鲁斯·杜布斯 - [电子邮件保护]

#

# 版本:LFS 7.0

#

# 基于 LFS-3.1 及更早版本的 checkfs 脚本。

#

# 来自 man fsck

# 0 - 没有错误

# 1 - 更正文件系统错误

# 2 - 系统应该重新启动

# 4 - 文件系统错误没有得到纠正

# 8 - 操作错误

# 16 - 用法或语法错误

# 32 - Fsck 被用户请求取消

# 128 - 共享库错误

#

############################################### #######################


### BEGIN INIT INFO

# 提供:checkfs

# 必需-开始: udev 交换 $time

# 应该-开始:

# 需要停止:

# 应该停止:

# 默认开始:S

# 默认停止:

# 简短描述:在挂载前检查本地文件系统。

# 描述:在挂载前检查本地文件系统。

# X-LFS-提供者:LFS

### END INIT INFO

. /lib/lsb/init-functions case "${1}" in

启动)

图片


如果 [ -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}按回车后,系统将" msg="${msg}停止并关机。\n\n"

log_failure_msg "${msg}"


log_info_msg "按 Enter 继续..." wait_for_user

/etc/rc.d/init.d/halt 停止其他

日志_成功_消息2

fi


如果 [ -f /forcefsck ]; 然后 msg="/forcefsck 找到,强制文件"

msg="${msg} 系统根据要求进行检查。" log_success_msg "$msg"

选项=“-f”其他

选项=""

fi


log_info_msg "正在检查文件系统..."

# 注意:-a 选项曾经是 -p; 但这在 fsck.minix 上失败,如果 is_true "$VERBOSE_FSCK"; 然后

fsck ${选项} -a -A -C -T else

fsck ${options} -a -A -C -T >/dev/null

fi 错误值=${?}

如果 [ "${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="\nWARNING:\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 ]; then msg="\nFAILURE:\n\n文件系统错误"

msg="${msg} 遇到无法自动修复的" msg="${msg}。\n此系统" msg="${msg}无法继续启动,因此将" 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

/etc/rc.d/init.d/halt 停止

fi


if [ "${error_value}" -ge 16 ]; then msg="FAILURE:\n\nUnexpected failure " msg="${msg}running fsck. Exit with error " msg="${msg} code: ${error_value}.\n" log_info_msg $msg

退出 ${error_value}

fi



*)


ESAC

退出0

;;


echo "用法:${0} {start}" exit 1

;;


# 结束 checkfs


图片

OnWorks 的顶级操作系统云计算: