Créer le script checkfs

Un nouveau fichier /etc/init.d/checkfs est créé, contenant ce qui suit:



cat > checkfs << "EOF"
#!/bin/sh
# Debut de /etc/init.d/checkfs

#
# Inclure les fonctions declarees dans le fichier /etc/init.d/functions
#

source /etc/init.d/functions

#
# Activer toutes les partitions d'echange declarees dans /etc/fstab
#

echo -n "Activation de l'echange..."
/sbin/swapon -a
evaluate_retval

#
# Si le fichier /fastboot existe, on ne lance pas la verification des partitions
#

if [ -f /fastboot ]
then
        echo "Demarrage accelere, pas de verification des systemes de fichiers"
else

#
# Montage de la partition racine en lecture seule (juste au cas ou le
# noyau la monterait en lecture-ecriture alors que nous ne voulons pas
# lancer fsck sur une partition montee en lecture-ecriture).
#

        /bin/mount -n -o remount,ro /
        if [ $? = 0 ]
        then

#
# Si le fichier /forcefsck existe, nous voulons forcer une verification de
# partition, meme si la partition avait ete demontee proprement la 
# derniere fois
#

                if [ -f /forcefsck ]
                then
                        echo -n "/forcefsck existe, verification forcee "
                        echo "du systeme de fichiers"
                        force="-f"
                else
                        force=""
                fi

#
# Controle tous les systemes de fichiers mentionnes dans /etc/fstab
# qui ont le champ fs_passno positionne a 1 ou 2 (le 6eme champ.
# cf. man fstab pour plus d'informations)
#

                echo "Verification des systemes de fichiers..."
                /sbin/fsck $force -a -A -C -T

#
# Si quelque chose se passe mal lors de la verification de l'une des 
# partitions, fsck se terminera avec une valeur de retour superieure
# a 1. Si c'est le cas, on lance sulogin de facon a ce que vous
# puissiez reparer manuellement les degats.
#

                if [ $? -gt 1 ]
                then
                        $FAILURE
                        echo
                        echo -n "Echec de fsck. Reparez vos systemes "
                        echo "de fichiers en lancant manuellement /sbin/fsck"
                        echo "sans l'option -a"
                        echo
                        echo -n "Notez bien que le systeme de fichiers "
                        echo "racine est actuellement monte en lecture seule."
                        echo
                        echo -n "Je vais maintenant lancer sulogin. A votre "
                        echo "sortie, je redemarrerai votre systeme."
                        echo
                        $NORMAL
                        /sbin/sulogin
                        /sbin/reboot -f
                else
                        print_status success
                fi

        else

#
# Si le remontage en mode lecture seule ne fonctionne pas, on interrompt
# fsck et on affiche une erreur.
#

                echo -n "Impossible de controler le systeme de fichiers racine "
                echo "car il n'a pu etre monte en mode lecture seule."
        fi
fi

# Fin de /etc/init.d/checkfs
EOF