[résolu] Ubuntu 10.04 server - fsck qui échoue

Ubuntu 10.04 server - fsck qui échoue [résolu] - Installation - Linux et OS Alternatifs

Marsh Posté le 04-02-2011 à 09:52:50    

Bonjour,
 
J'ai installé un ubuntu 10.04 server sur une machine , et j'ai quelques problèmes au démarrage dans certaines conditions.
 
 
Si je démarre avec une date inférieure à la date de l'installation ( date bios machine < date du dernier check de l'OS ) , j'ai l'erreur suivante
 


 
fsck from util-linux-ng 2.17.2  
/dev/sda1 : superblock last mount time (Fri Feb 4 11:35:04 2011.
     now : Wed Feb 4 11:11:25 2009) is in the future.  
 
/dev/sda1 UNEXPECTED INCONSISTENCY : RUN fsck manually.
 (i.e. without -p or -a option )
mountall : fsck(301) terminated with status 4
mountall : filesystem has errors : /


 
Le problème est que j'ai pris ma CF ( sur laquelle est installée l'OS ) , je l'ai montée sur une autre machine, j'ai fait un fsck , le système me dit que le FS est propre, j'ai donc forcé le check ( fsck -f xxx ), plusieurs fois, et rien n'y fait.
 
Par contre, si je mets bonne date à ma machine, pas de problème, elle démarre. On dirait que le script  de démarrage force un check si la date est erroné ( ce qui est le cas ici ), ce que je peux comprendre, par contre je ne comprends pas pourquoi il me dit qu'il y a des erreurs, alors que si je fais le check sur une autre machine, aucune erreur n'est détectée ( je précise que j'éteins correctement la machine avec halt avant de check le disque sur une autre machine ).
 
Une petite idée ? C'est un peu handicapant pour moi, l'horloge pourra être parfois erronée dans mon cas :(


Message édité par xilebo le 04-02-2011 à 15:17:01
Reply

Marsh Posté le 04-02-2011 à 09:52:50   

Reply

Marsh Posté le 04-02-2011 à 11:56:01    

Je viens de réinstaller ubuntu serveur 10.04 sur une CF vierge.
 
Je choisis les options standard.
 
 
Je redémarre ubuntu et je me loggue : aucun problème.
 
Je redémarre , en changeant la date de BIOS ( je la recule )  : ça ne boote plus :(
 
Très handicapant, d'autant plus qu'Ubuntu ne donne absolument pas la main pour effectuer une opération de maintenance. Système complètement bloqué :(

Reply

Marsh Posté le 04-02-2011 à 12:42:06    

par curiosité, pourquoi tu veux reculer la date du bios ?

Reply

Marsh Posté le 04-02-2011 à 13:30:55    

Je ne souhaite pas la reculer, mais la carte sur laquelle on travaille a un bug de conception qui fait que parfois, la date se reset à la date d'usine. Evidemment, pas question de changer de carte à ce niveau d'avancement.
 
L'utilisation de cette carte ne nécessite pas d'avoir une date correcte donc ce point n'est pas génant, mis à part mon problème.

Reply

Marsh Posté le 04-02-2011 à 13:48:35    

Si tu n'as pas besoin d'avoir ton Linux à l'heure, alors une solution (crade mais bon ...) est peut-être de fixer celui-ci à une date antérieure de celle de ton bios quand il est en paramètre d'usine.
 
Exemple : si ton BIOS se remet parfois à la date : 01/01/2000 06:00, tu fixes alors ton Linux à : 01/01/1998 06:00
 
Je ne sais pas si je suis clair mais à froid je ne vois pas beaucoup d'autres solutions  :(

Reply

Marsh Posté le 04-02-2011 à 14:21:26    

Je ne pense pas que ce soit la bonne solution, surtout que ça ne marche pas si la date se reset régulièrement. Au premier passage, cela va passer, mais au second mount ( boot), le problème réapparait à nouveau.
 
 
Bon sinon, j'ai un peu plus investigué sur ce problème, et effectivement j'arrive à le reproduire sur n'importe quelle machine. En réalité, il suffit de lancer un fsck avec une date de machine plus ancienne que la date de l'OS checké ( ce que je n'avais pas fait lors de mes précédents essais ) et je tombe sur le même problème.
 
Si je lance fsck sans option, il me pose la question, et il suffit de répondre oui pour actualiser la date du FS.
 
Si je lance fsck avec l'option -p , là ça déconne , j'ai le message que j'ai écrit ci-dessus, à savoir, ne pas lancer en mode automatique mais en mode manuel.
 
Par contre, j'ai également essayé fsck -f -y ( c'est un peu bourrin je l'accorde) , et ça à l'air de résoudre le problème.
 
 
Maintenant ma question est :  
 
Comment appliquer cette modif dans les scripts de démarrage de ubuntu server 10.04 ?
 
J'ai un peu fouillé, et apparemment, c'est un démarrage de type init = upstart (je ne suis pas habitué à ça mais au /etc/rcX.d classique ), et apparemment, le script /etc/init/mountall.conf est appelé au démarrage.
 
Pas de bol, ce n'est pas la commande fsck qui est appelée mais la commande mountall qui elle-même doit faire le fsck -p . Or, j'aimerais changer cela en fsck -f -y , mais je ne vois pas comment faire.  
 
Quelqu'un saurait comment faire , j'ai peur qu'il faille recompiler mountall avec les options modifiées ce que j'aimerais éviter de faire :(  
 
Merci par avance :jap:

Reply

Marsh Posté le 04-02-2011 à 15:16:40    

Bon, en fouillant dans les sources de mountall, j'ai trouvé comment faire.
 
J'ai modifié le script /etc/init/mountall.conf en forçant le check avec les 2 options suivantes : --fsck-fix et --force-fsck (non documenté dans les pages man accessoirement) et cela résoud mon problème. Le check est fait, reboot la machine et redémarre correctement, sans intervention.
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed