Créer un nouveau fichier /etc/init.d/checkfs contenant ce qui suit:
cat > checkfs << "EOF"
#!/bin/sh
# Begin /etc/init.d/checkfs
#
# Inclure les fonctions declarees dans le fichier /etc/init.d/functions
#
source /etc/init.d/functions
#
# Activer toutes les partitions de swap declarees dans le fichier /etc/fstab
#
echo -n "Activation du swap..."
/sbin/swapon -a
evaluate_retval
#
# Si le fichier /fastboot existe, on ne lance pas le contrôle des partitions
#
if [ -f /fastboot ]
then
echo "Boot accelere, pas de controle du systeme 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 un controle de
# partition meme si la partition avait ete demontee proprement la
# derniere fois
#
if [ -f /forcefsck ]
then
echo -n "/forcefsck existe, controle force"
echo "controle du systeme de fichiers"
force="-f"
else
force=""
fi
#
# Controle tous les systemes de fichiers mentionnes dans /etc/fstab
# qui possedent un champ fs_passno positionne a 1 ou 2 (le 6eme champ.
# cf. man fstab pour plus d'informations)
#
echo "controle des systemes de fichiers..."
/sbin/fsck $force -a -A -C -T
#
# Si quelque chose se passe mal lors du controle 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 façon 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. Lorsque "
echo "vous vous deloguerez, 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 pas pu etre monte en mode lecture seule."
fi
fi
# End /etc/init.d/checkfs
EOF
Précédent | Sommaire | Suivant |
Création du script functions | Niveau supérieur | Création du script halt |