Création du script checkfs

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