PDA

Voir la version complète : Ubuntu - insserv - très dangereux !


djezairi90
26/09/2009, 05h36
J'utilise Ubuntu depuis quelques jours et à chaque démarrage le message suivant apparait:

EXT3FS: recovery required on read-only filesystem ...

Ce système de fichier est la racine (/) ce qui signifie que la racine n'est pas démontée correctement avant le reboot ou le stop.

Après investigation j'ai pu constaté qu'aucun système de fichier n'est démonté.

Le problème est du à l'utilisation de insserv. Commande qui m'a permis de désactiver certains services.

insserv à un bug sérieux semble-t-il. Lorsque l'on reboot on entre dans le runlevel 6, le système exécute les scripts présents dans le répertoire /etc/rc6.d, (en fait des liens vers les scripts de /etc/init.d) lançant d'abord ceux commençant par K puis ceux commençant par S. C'est un héritage de Unix System V. Chaque script se voit affecté un préfixe en K ou S et un numéro compris entre 00 et 99. Le système les lance dans l'ordre numérique puis lexicographique pour ceux ayant le même numéro.

Mais insserv attribue a reboot le préfixe S01 , alors qu'il attribue à umountfs, umountroot et sendsigs (arrêt des processus) le même numéro mais leur nom commence par u et s, ils sont donc lancés après. Donc le script /etc/init.d/reboot (tout comme /etc/init.d/halt dans le runlevel 0) redémarre (stop) sans avoir invité les processus restant à quitter et sans avoir démonté les systèmes de fichier montés.

Me voilà donc obligé de gérer les liens des répertoires /etc/rc6.d (reboot) et /etc/rc0.d (halt) à la main. A chaque utilisation de insserv ils sont perdus.

Si quelqu'un connait une meilleur solution merci de m'en informer.

Cookies