Forum Linux.général [RÉSOLU] Démarrage impossible sans cliché Timeshift après mise à jour interrompue

Posté par  . Licence CC By‑SA.
Étiquettes :
4
19
mai
2022

Bonjour à tous.

Je suis sous Manjaro. J'ai eu la mauvaise surprise d'une mise à jour interrompue à cause du taux de remplissage du système de fichier racine (100%). J'ai cru m'en sortir en poursuivant la mise à jour après avoir agrandi mon volume logique (EDIT: LVM) racine¹ de 40 à 80Go.

J'ai obtenu des erreurs concernant des fichiers existants, qui empêchaient l'installation de certains paquets mais je suis parvenu à poursuivre la mise à niveau… du moins c'est ce que je croyais, jusqu'à ce que je demande à mon système de redémarrer.

À présent, je me retrouve avec un menu de démarrage qui ne me propose plus que "EFI settings" et "Manjaro snapshots" (mon portable est un SlimBook Essential-AMD5). J'avais deux fois plus de choix auparavant. Si je me risquais à un diagnostic, je dirais que le détecteur d'OS ne "voit" aucun système d'exploitation/noyau…

J'ai pu faire démarrer mon système avec un des clichés mensuels (gérés par Timeshift, à ce que je peux comprendre) et j'ai tenté de relancer la mise à niveau, espérant — Ô combien naïvement — que mon système se ramasserait tout seul… Tu parles, ça n'a juste rien changé et je n'ai toujours pas d'autre option que de démarrer sur un des clichés Timeshift. Et pour couronner le tout, les clichés les plus récents ne permettent même pas de démarrer (noyau introuvable, pour ce que j'en ai vu).

Autant dire que je ne suis pas (mais alors pas du tout) à l'aise avec Grub (je hais ce truc!), Timeshift et EFI, les composants les plus critiques du système… Pour l'instant, mon portable est capable de se mettre en veille et de se réveiller mais à chaque démarrage, je dois repartir d'un cliché.

J'ignore quoi faire. Quelqu'un aurait une idée (à part réinstaller mon système, bien sûr)?

Mille fois merci d'avance.

EDIT: J'ai finalement corrigé le problème, en essayant de restaurer avec l'appli graphique Timeshift, le dernier cliché fonctionnel, datant d'il y a trois jours (avant la mise à jour donc). Assez bizarrement, toutes mes applications sont à jour, le cache des paquets aussi (selon pacman), le volume logique LVM est à la bonne taille et celui de BTRFS aussi. Pourquoi, ça, j'en ai aucune idée et je m'en moque éperdument, ça a fonctionné!

Je laisse ce post message à la post-érité pour d'éventuels personnes pour qui ce désagrément surviendrait.

EDIT: Quelques semaines plus tard, pendant que je travaillais sur un projet, j'ai vu soudainement un message me disant que ma machine n'avait plus de batterie… En retournant vers une console, je me suis aperçu que le système était dans un état totalement incontrôlable et irrécupérable (en apparences): plus moyen de faire un arrêt normal, il a fallu que je l'arrête à la barbare (appui long sur le bouton d'allumage).

J'ai d'abord cru à une défaillance matérielle — le portable est toujours sous garantie, il n'a que quelques semaines. Mais en réalité c'est "simplement" BTRFS (ou quelque chose en rapport avec ça) qui a tout fait foirer. J'ai perdu la totalité des modifications que j'avais faites sur des fichiers dans /usr/local et je n'ai pas cherché ailleurs s'il y en avait d'autres. L'exercice m'a amplement suffi…

Moralité: BTRFS est resté cohérent après une panne (ça déstresse concernant la garantie) mais a engendré une perte totale des données, passé un point de restauration… qui n'est même pas le dernier! J'ignore si c'est en rapport avec ce premier problème mais j'ai viré BTRFS de la racine et l'ai remplacé par ext4. Seule la partition réservée à /home est sous BTRFS. Je n'ai aucune perte de données à constater sur celle-ci.

J'en suis amené à suspecter le couple BTRFS + Timeshift d'avoir causé cette catastrophe: le seul événement, soudain, que je peux entrevoir, c'est le cron de Timeshift, qui aurait pu provoquer une saturation de l'espace disque. Mais, pour ce que j'en ai vu, de la place, il en restait suffisamment pour au moins un cliché…

J'ai déjà tiqué en constatant que même avec plus de 80 Go au total pour une configuration par défaut du système (à l'exception de /home), c'était insuffisant et l'occupation dépassait les 80% en permanence. Il m'a d'ailleurs fallu augmenter plusieurs fois la taille du volume racine (j'ai été bien inspiré de passer par LVM) et ça n'a pas empêché la catastrophe.

BTRFS n'a pas que des inconvénients, évidemment. Cependant, qu'une configuration, par défaut et suggérée par l'installateur lorsqu'on choisit BTRFS, puisse provoquer, en dehors de tout défaut matériel, une perte de données préalablement existantes, alors même qu'elle est supposée empêcher ça, c'est plutôt ironique, trouvez pas?

J'ai déjà eu, plusieurs fois, des remplissages à 100% et j'ai toujours réussi à remettre le système sur pied sans jamais avoir perdu le moindre fichier existant. Ce que je viens d'expérimenter me suffit à prêter de l'attention aux argumentations qualifiant ce système de "pas au point", "pas fiable" ou "pas sûr".

Alors autant dire que, pour moi, BTRFS partout, c'est pas pour tout de suite. À présent, j'ai un système dont la taille totale fait environ 60 Go et avec un taux d'occupation de 50%.

Ce que je recommanderais aux novices (comme ma pomme dans ce cas précis, malgré mes 20 ans d'expérience sous GNU/Linux) c'est surtout de ne jamais, jamais au grand jamais laisser activée la chrono-programmation de Timeshift sur un système BTRFS. Que cet automatisme fasse partie de la configuration par défaut de Manjaro me paraît d'ailleurs une très mauvaise idée et devrait n'être suggérée qu'aux experts, aux intrépides ou aux casse-cous ou, à tout le moins, aux utilisateurs avec une bonne expérience de ce genre de combinaison. Mais ça, c'est une devinette impossible pour un programme d'installation.


¹ Le système racine est sous BTRFS avec prise en charge des clichés, ce que je n'ai pas demandé, ça s'est fait tout seul à l'installation. Ça ne me gène pas, ce n'est qu'en l'utilisant que j'apprendrai à m'en servir.

  • # agrandir avant de mettre à jour

    Posté par  . Évalué à 3.

    J'ai pu faire démarrer mon système avec un des clichés mensuels (gérés par Timeshift, à ce que je peux comprendre) et j'ai tenté de relancer la mise à niveau, espérant — Ô combien naïvement — que mon système se ramasserait tout seul…

    si tu es revenu dans un état antérieur,
    ton disque (enfin ton volume) a repris sa taille d'origine

    il te faut donc agrandir ce volume AVANT de relancer les mises à jours :D

    • [^] # Re: agrandir avant de mettre à jour

      Posté par  . Évalué à 3. Dernière modification le 19 mai 2022 à 16:03.

      J'ignore pourquoi mais la taille de mon système racine est déjà à la bonne taille (80Go) alors que je me suis (apparemment) servi d'un cliché pour le démarrage.

      Note que ce que j'appelle "volume" est un volume LVM et non BTRFS.

      Mais avant de parler de mise à jour, j'aimerais bien avoir un système qui puisse démarrer et de préférence sans passer par un cliché. Une idée?

    • [^] # Re: agrandir avant de mettre à jour

      Posté par  . Évalué à 2.

      Note aussi que le passage que tu cites concerne le premier redémarrage de mon système après avoir agrandi le volume logique (et redimensionné le système de fichiers BTRFS). En y réfléchissant, je me rends compte que j'ai (re-)lancé une mise à jour à partir d'un cliché, choisi au démarrage et en espérant que la mise à jour de Grub me ramènerait le choix des noyaux, comme au début.

      C'est là que j'ai besoin d'un coup de main…

      • [^] # Re: agrandir avant de mettre à jour

        Posté par  . Évalué à 2.

        En y réfléchissant, je me rends compte que j'ai (re-)lancé une mise à jour à partir d'un cliché, choisi au démarrage et en espérant que la mise à jour de Grub me ramènerait le choix des noyaux, comme au début.

        L'explication se trouve peut-être dans la phrase ci-dessus : tu as fait un cliché au sein d'un autre cliché, et ce cliché contient une mise à jour qui s'est déroulée sans erreur. Mais si c'est le cas, je suis incapable d'expliquer le lien de cause à effet.

  • # restauration de cliché

    Posté par  . Évalué à 3.

    SI j'ai bien compris, démarrer sur un snapshot ne permet que de démarrer sur un état antérieur, il ne modifie en rien l'état courant (que celui-ci soit fonctionnel ou pas). Pour que cet état antérieur devienne l'état courant (celui qui est proposé au démarrage) il faut "restaurer" le snapshot et redémarrer, ce que tu as finalement fait.

    Assez bizarrement, toutes mes applications sont à jour, le cache des paquets aussi (selon pacman), le volume logique LVM est à la bonne taille et celui de BTRFS aussi. Pourquoi, ça, j'en ai aucune idée et je m'en moque éperdument, ça a fonctionné!

    Que le volume LVM soit à la bonne taille me paraît normal. En revanche, que tes applications soient à jour en restaurant un snapshot datant d'avant les mises à jour est plus que bizarre (pour ne pas dire impossible à mes yeux non experts).

    • [^] # Re: restauration de cliché

      Posté par  . Évalué à 2. Dernière modification le 22 mai 2022 à 12:33.

      «Impossible» n'est pas conforme à la réalité puisque, de toute évidence, les applications dont j'ai testé le numéro de version (entre autres Qemu v7, Firefox, Thunderbird) correspondent bien à la version portée par le paquet idoine… Ça me paraît tout aussi bizarre, ceci dit. il doit y avoir une explication rationnelle mais j'ai du mal à la trouver. C'est d'ailleurs ce qui m'inquiète davantage que cette apparente bizarrerie.

      • [^] # Re: restauration de cliché

        Posté par  . Évalué à 2.

        «Impossible» n'est pas conforme à la réalité puisque […]

        C'était juste une façon de dire que pour moi, c'est pas bizarre, c'est plus que bizarre (j'avais pris le soin d'ajouter "à mes yeux non experts").

    • [^] # Re: restauration de cliché

      Posté par  . Évalué à 2.

      Une autre possibilité est que les clichés avec BTRFS ne fonctionnent pas comme je l'imagine…

      • [^] # Re: restauration de cliché

        Posté par  . Évalué à 2.

        Une question : ta version de Manjaro fait-elle (comme la mienne) un cliché automatiquement après une mise à jour ? Ou bien les seuls clichés que tu as sont ceux que tu fais manuellement ou qui résultent d'une planification dans Timeshift ?

        • [^] # Re: restauration de cliché

          Posté par  . Évalué à 2. Dernière modification le 22 mai 2022 à 13:04.

          Elle fait ses clichés automatiquement avant mise à jour. Cependant j'ai supprimé les trois derniers sur lesquels je ne voyais pas de noyau linux, contrairement aux clichés "stables". Apparemment, ils étaient "corrompus", si je peux l'exprimer ainsi.

      • [^] # Re: restauration de cliché

        Posté par  . Évalué à 2. Dernière modification le 22 mai 2022 à 13:21.

        Une autre possibilité est que les clichés avec BTRFS ne fonctionnent pas comme je l'imagine…

        Non, il n'y a aucun doute sur le fait que restaurer un cliché datant d'avant une mise à jour restaure le système comme il était avant cette mise à jour*. Donc ce que tu décris est "normalement" impossible (tu noteras les " "), ce n'est pas un problème de compréhension du fonctionnement des clichés. Le problème de compréhension est plutôt dans le fait d'ignorer qu'il ne suffit de redémarrer sur un cliché, il faut ensuite le restaurer si on veut que ce retour en arrière soit pérenne (mais ça, tu l'as trouvé tout seul).

        * enfin, pas tout à fait : je crois que par défaut le volume btrfs /home n'est pas inclus dans le cliché => si tu as modifié un paramétrage d'appli (c'est-a-dire un fichier dans ton /home), la restauration d'un cliché va remettre les applis à leur version d'avant mais avec les éventuels nouveaux paramétrages faits depuis.

        • [^] # Re: restauration de cliché

          Posté par  . Évalué à 2. Dernière modification le 22 mai 2022 à 17:53.

          Je n'ai en effet pas inclus /home dans le cliché. Remarque (j'ignore si c'est important) l'installation de Manjaro avec BTRFS comme système racine a créé deux sous-volumes /var/log et /var/cache. En ce cas, tous les paquets téléchargés avant la mise à jour ont été conservés (enfin, je présume).

          • [^] # Re: restauration de cliché

            Posté par  . Évalué à 2.

            En ce cas, tous les paquets téléchargés avant la mise à jour ont été conservés (enfin, je présume).

            Pour autant, ils ne vont pas être installés automatiquement ; ça n'explique donc rien dans ton cas.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.