Créer le script /etc/init.d/checkfs en lançant la commande suivante:
cat > /etc/init.d/checkfs << "EOF"
#!/bin/sh
# Début de /etc/init.d/checkfs
#
# Inclut les fonctions déclarées dans le fichier /etc/init.d/functions
#
source /etc/init.d/functions
#
# Active toutes les partitions swap déclarées dans le fichier /etc/fstab
#
echo -n "Activating swap..."
/sbin/swapon -a
evaluate_retval
#
# Si le fichier /fastboot existe, nous ne voulons pas lancer la vérification des
# partitions
#
if [ -f /fastboot ]
then
echo "Fast boot, no file system check"
else
#
# Monter la partition root en lecture seule (juste au cas où le noyau
# le monterait en lecture/écriture car nous ne voulons pas lancer
# fsck sur une partition montée ainsi).
#
/bin/mount -n -o remount,ro /
if [ $? = 0 ]
then
#
# Si le fichier /forcefsck existe, nous voulons forcer une vérification de
# la partition même si elle a été démonté correctement.
#
if [ -f /forcefsck ]
then
echo -n "/forcefsck exists, forcing "
echo "file system check"
force="-f"
else
force=""
fi
#
# Vérifier tous les systèmes de fichiers mentionnés dans /etc/fstab qui ont
# une valeur 1 ou 2 à la variable fs_passno (6ème champ, voir "man fstab" pour
# plus d'informations).
#
echo "Checking file systems..."
/sbin/fsck $force -a -A -C -T
#
# Si quelque chose s'est mal passé durant la vérification d'une des partitions,
# fsck va quitter avec un code d'erreur supérieur à 1.
# Si c'est le cas, nous lançons sulogin pour pouvoir réparer manuellement.
#
if [ $? -gt 1 ]
then
$FAILURE
echo
echo -n "fsck failed. Please repair your file "
echo "systems manually by running /sbin/fsck"
echo "without the -a option"
echo
echo -n "Please note that the root file system "
echo "is currently mounted in read-only mode."
echo
echo -n "I will start sulogin now. When you "
echo "logout I will reboot your system."
echo
$NORMAL
/sbin/sulogin
/sbin/reboot -f
else
print_status success
fi
else
#
# Si le remontage en lecture seule n'a pas fonctionné, interrompre le fsck
# et afficher une erreur
#
echo -n "Cannot check root file system because it "
echo "could not be mounted in read-only mode."
fi
fi
# Fin de /etc/init.d/checkfs
EOF |