hashboot/init/sysv

57 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
### BEGIN INIT INFO
# Provides: hashboot
# Required-Start: $mountall
# Required-Stop:
# Default-Start: S
# Default-Stop:
# Short-Description: Check integrity of files in /boot
### END INIT INFO
#PATH=/sbin:/bin:/usr/bin:/usr
# See if hashboot is accessible
test -x $(which hashboot) || exit 255
case "$1" in
start)
log_daemon_msg "Checking integrity of files in /boot"
hashboot check
ret=$?
if [ ${ret} -ge 1 ] && [ ${ret} -le 3 ] || [ ${ret} -ge 10 ] && [ ${ret} -le 13 ]; then
log_end_msg ${ret}
echo -n "Recover files? [y/N] "
read -r yesno
if [ "${yesno}" == "y" ]; then
hashboot recover
fi
echo "Dropping to shell. Type exit to continue."
sh
exit ${ret}
elif [ ${ret} != 0 ]; then
log_end_msg ${ret}
eerror "Unexpected error number ${ret}."
exit ${ret}
fi
log_end_msg 0
;;
stop)
# No-op
;;
restart|reload|force-reload|status)
echo "Error: argument '$1' not supported" >&2
exit 1
;;
*)
echo "Usage: /etc/init.d/hashboot {start|stop}"
exit 1
;;
esac
exit 0