C’est le numéro du block qui m’a pourri ma soirée de vendredi soir.
Je rentre de l’anniv de Béto pas trop tard (minuit, je pense) histoire de me coucher tôt pour être un peut reposé pour attaquer les 2h de route pour aller chez mes cousines le lendemain.
Je me pointe donc chez moi, je lance Gaim (juste pour voir qui est connecté) et là, mon ordi se comporte pas comme il devrait: la cpu système grimpe dans les tours, et y reste. Or, la cpu système ne reste JAMAIS à 100%, sauf en cas de compilation intensive (et encore), ou si votre ordi est un serveur (et encore).
Bref, c’est louche.
Je tente d’attraper une console valide, et un oeil dans les journaux systèmes me dit qu’un disque part en vrille. « Merde, encore de foutu disque de 250Go… »
Pas trop grave: y a que des divx, des mp3, … Bref, rien d’irremplaçable.
Sauf que non. C’est ma partition qui héberge /usr, qui part en sucette… Et ceux qui s’y connaissent un peu savent qu’un /usr qui part aux fraises, c’est TRES chiant.
Mon /usr est monté sur le disque sur lequel y avait mon windows. Disque fiable depuis quelques années. Cette partoche est formatée en reiserfs, système de fichier fiable, rapide, stable, idéal pour une partition système.
Reboot de la machine. Même problème: problème avec cette partition.
Je sens que ma soirée s’annonce longue, car j’ai un défaut: je relève facilement les défis, et ça c’en est un de taille. D’autant que j’aime pas quand mes ordis sont malades…
Je reboote donc un single user, et lance un reiserfsck. Qui ne me rassure pas: il me dit que le block 1737105 est aux choupignoufs. Evidémment c’est un block alloué (sinon y aurait pas de problèmes, hein) Il me dit de faire un –rebuild-tree, mais de sauvegarder ma partoche avant.
Ouais… pas rassurant, ça.
Je sauvegarde donc, en priant pour que la partoche soit pas trop foutu et que je puisse lire au moins juste une fois histoire de faire une sauvegarde un peu conforme.
Et je lance la reconstruction de l’arbre. Et il râle. Ô saints Chro, il râle, le reiserfs… Mais il corrige. Je sais pas dans quel état sont mes fichiers, mais je recopie la sauvegarde dans la partoche d’origine.
Et là, j’ai sans doute fait une connerie: il trouve plus certaines commandes de base comme ‘ls’… Bien bien bien… Je sens décidémment que ça va être TRES long et TRES problématique, parce que je suis TRES têtu. Je sens aussi que je vais devoir sortir l’artillerie: un livecd quelconque, une knoppix ou ce genre de choses. Ca tombe bien, ha ha, j’ai un livecd Gentoo tout fraîchement toasté…
Je reboot dessus, et monte les partoches, histoire de voir ce qu’il se passe.
Il se passe pas grand chose d’encourageant: quelques fichiers indispensables ont une taille nulle (nb: sans doute dû à un tar mal fait, ai-je appris un petit peu plus tard).
Arg…
Je télécharge un ‘stage1’ de Gentoo, me disant que je vais être bon pour une réinstallation partielle. Si je pouvais ‘juste’ avoir les commandes et biblios de base, histoire de tout recompiler… et je me fixe cet objectif: ne pas aller me coucher avant de lancer une compilation mondiale (aha, private jeu de mot Gentooiste). Un chroot plus tard, et je me retrouve avec la position de Dieu sur mon système malade.
Je vous passe les détails qui ont suivi, mais un stage1 est trop … limité pour ça, j’ai dû reformater ma partion, et choper un stage3. Le tout, évidemment, en évitant de casser ce qui ne l’était pas (/, /var, /etc) mais en faisant en sorte que ça marche. Je vous raconte pas les problêmes de gcc, de biblio, de i386/i586/i686 avec des messages sybillins à la compilation.
Je me couche vers … 6h30, avec une compilation lancée. Mon système allait être bancale, mais ranafoutre, y a d’autres choses de plus importantes dans la vie. Dormir un peu pour aller voir mes cousines en fait partie.
Je dors peu et mal: trop de bruit (souffle des ordis), mon cerveau qui est plein de gcc, de messages d’erreurs, de reiserfs … Debout le lendemain 9h et quelques, avec l’impression de pas avoir dormi. Et évidemment la compilation ne s’est pas terminée: message d’erreur abscon…
Hé merde… Je vais pas y passer ma matinée, non?
Non, je vais pas y passer ma matinée, ni mon w-e. C’est pas un con de block foutu qui va me planter mon w-e.
Néanmoins, c’est moins déspéré que la veille au soir: ça compilouille un peu. Ce ne sont « que » des problèmes de biblios, donc de liens symbolique, et de configs.
Mais gcc et glibc ne compilent pas. Et si ces deux-là compilent pas, je risque pas de m’en sortir.
Partant du constat qu’un ordi malade, si on le laisse tranquille (voir éteint) ne voit pas son état s’aggraver, et qu’un sshd me permettra éventuellement d’accéder à mon ordi depuis chez mes cousines, je me casse en me disant que c’est pas bien grave, ce n’est qu’un tas de silicium, et ça attendra mon retour.
Je trifouille quelques trucs depuis chez mes cousines, mais rien de probant. Sauf dimanche: gcc (se) compile 🙂
« OUIIIIIIIIII!!! » m’exclamé-je. Si lui compile, le reste n’est qu’une question de temps (et éventuellement de dépendences, vu que je soupçonne mon système d’avoir perdu le fil de ce qui est censé être installé et de ce qui réellement présent… ;). Rien de grave, en somme.
Et là ce soir, je suis toujours avec ma Gentoo live, avec mon système qui compile comme il faut (d’une traite, et en i686), sans avoir perdu mes mp3, mes divx, mon /etc et mon /home 🙂
Moralités:
- Faire des sauvegardes. De tout et souvent.
- Faire des sauvegardes, encore et encore. Et les mettre en lieu sûr. Et accessible sans prises de têtes.
- Toujours avoir un live cd sous la main.
- Linux, c’est bien: je m’imaginais pas essayer de récupérer un Windows crashé comme ça…
- Partitionner, partitionner, partionner! /usr qui dégage est moins grave que TOUT LE SYSTEME qui dégage!