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
Précédent | Sommaire | Suivant |
Créer le script functions | Niveau supérieur | Créer le script halt |