D.8. /etc/rc.d/init.d/checkfs
# / Bin / sh
################################################ ######################
# Checkfs beginnen
#
# Beschreibung: Dateisystemprüfung
#
# Autoren: Gerard Beekmans - [E-Mail geschützt]
# A. Lübke - [E-Mail geschützt]
#DJ Lucas - [E-Mail geschützt]
# Update: Bruce Dubbs - [E-Mail geschützt]
#
# Version: LFS 7.0
#
# Basierend auf dem checkfs-Skript von LFS-3.1 und früher.
#
# Von man fsck
# 0 – Keine Fehler
# 1 – Dateisystemfehler behoben
#2 – Das System sollte neu gestartet werden
# 4 – Dateisystemfehler bleiben unkorrigiert
# 8 – Betriebsfehler
# 16 – Verwendungs- oder Syntaxfehler
# 32 – Fsck auf Benutzerwunsch abgebrochen
# 128 – Fehler in der gemeinsam genutzten Bibliothek
#
############################################### #######################
### BEGIN INIT INFO
# Bietet: checkfs
# Erforderlicher Start: udev swap $time
# Sollte beginnen:
# Erforderlicher Stopp:
# Sollte aufhören:
# Standard-Start: S
# Standard-Stopp:
# Kurzbeschreibung: Überprüft lokale Dateisysteme vor dem Mounten.
# Beschreibung: Überprüft lokale Dateisysteme vor dem Mounten.
# X-LFS-Bereitgestellt von: LFS
### END INIT INFO
. /lib/lsb/init-functions case "${1}" in
Anfang)
if [ -f /fastboot ]; dann msg="/fastboot gefunden, wird weggelassen"
msg="${msg} Dateisystem prüft wie gewünscht.\n" log_info_msg "${msg}"
Beenden Sie 0
fi
log_info_msg „Root-Dateisystem wird im schreibgeschützten Modus gemountet …“ mount -n -o remount,ro / >/dev/null
if [ ${?} != 0 ]; then log_failure_msg2 msg="\n\nRoot kann nicht überprüft werden "
msg="${msg}Dateisystem, da es nicht gemountet werden konnte " msg="${msg}im schreibgeschützten Modus.\n\n"
msg="${msg}Nachdem Sie die Eingabetaste gedrückt haben, wird dieses System " msg="${msg}angehalten und ausgeschaltet.\n\n"
log_failure_msg „${msg}“
log_info_msg „Drücken Sie die Eingabetaste, um fortzufahren …“ wait_for_user
/etc/rc.d/init.d/halt stop else
log_success_msg2
fi
if [ -f /forcefsck ]; dann msg="/forcefsck gefunden, Datei erzwingen"
msg="${msg} System prüft wie gewünscht." log_success_msg „$msg“
Optionen="-f" sonst
Optionen=""
fi
log_info_msg „Dateisysteme werden überprüft …“
# Hinweis: Die Option -a war früher -p; aber das schlägt zB auf fsck.minix fehl, wenn is_true "$VERBOSE_FSCK"; Dann
fsck ${options} -a -A -C -T sonst
fsck ${options} -a -A -C -T >/dev/null
fi error_value=${?}
if [ "${error_value}" = 0 ]; dann log_success_msg2
fi
if [ "${error_value}" = 1 ]; dann msg="\nWARNUNG:\n\nDateisystemfehler " msg="${msg}wurden gefunden und korrigiert.\n" msg="${msg} Möglicherweise möchten Sie dies noch einmal überprüfen " msg=" ${msg}alles wurde ordnungsgemäß repariert.“ log_warning_msg „$msg“
fi
if [ "${error_value}" = 2 -o "${error_value}" = 3 ]; dann msg="\nWARNUNG:\n\nDateisystemfehler " msg="${msg}wurden gefunden und wurden " msg="${msg}korrigiert, aber die Art der "
msg="${msg}Fehler erfordern einen Neustart dieses Systems.\n\n" msg="${msg}Nachdem Sie die Eingabetaste gedrückt haben, "
msg="${msg}dieses System wird neu gestartet\n\n" log_failure_msg "$msg"
log_info_msg „Drücken Sie die Eingabetaste, um fortzufahren …“ wait_for_user
Neustart -f
fi
if [ "${error_value}" -gt 3 -a "${error_value}" -lt 16 ]; then msg="\nFAILURE:\n\nDateisystemfehler "
msg="${msg}Es wurden Fehler festgestellt, die nicht automatisch behoben werden konnten.\nDieses System " msg="${msg}kann nicht weiter booten und wird daher angehalten, bis diese " msg="${msg}Fehler manuell von einem " msg="${msg}Systemadministrator behoben wurden.\n\n"
msg="${msg}Nachdem Sie die Eingabetaste gedrückt haben, wird dieses System " msg="${msg}angehalten und ausgeschaltet.\n\n"
log_failure_msg „$msg“
log_info_msg „Drücken Sie die Eingabetaste, um fortzufahren …“ wait_for_user
/etc/rc.d/init.d/halt stoppen
fi
if [ "${error_value}" -ge 16 ]; then msg="FEHLER:\n\nUnerwarteter Fehler " msg="${msg}fsck wird ausgeführt. Beendet mit Fehler " msg="${msg} Code: ${error_value}.\n" log_info_msg $msg
Beenden Sie ${error_value}
fi
*)
esac
Beenden Sie 0
;;
echo "Verwendung: ${0} {start}" Ausfahrt 1
;;
# checkfs beenden