• [^] # Définition de distribution « Atomique »

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche GNOME OS comme Linux idéal, partie 1 : la promesse de l'atomique. Évalué à 6.

    Merci pour cette définition, qui mériterait de figurer en haut de l'article.

    Je n'ai pas eu le temps de contribuer à la dépêche, mais j'aurais ajouté :

    Ce qui est atomique dans ces distributions-là, ce sont les mises à jour et roll-backs du système. Soit l'opération est faite entièrement, soit elle n'est pas faite du tout. C'est une opération qui est indivisible, « atomique ».

    Avec une distrib classique, pendant que les paquets sont mis à jour il ne faut pas qu'il y ait de coupure de courant, sinon le système est entre-deux et il n'est alors peut-être plus possible de le démarrer.

    L'implémentation avec OSTree

    En interne, OSTree implémente l'opération atomique en changeant juste un lien symbolique. Un lien qui pointe vers le dossier système à utiliser.

    OSTree c'est comme Git mais pour des fichiers binaires. Les fichiers du système sont stockés dans la sorte de « base de donnée » avec un système de hash (comme dans .git/objects/), donc il y a de la déduplication (deux fichiers ayant le même hash seront stockés qu'une seule fois).

    Au démarrage, le dossier système est créé à la volée en faisant des hard-links depuis la base de données des fichiers OSTree. (Créer des hard-links est une opération très rapide). Une fois que ce dossier est créé, le lien symbolique peut être mis à jour vers le nouveau dossier. C'est cette dernière opération qui est atomique, la création du dossier système en lui-même ne l'est pas.

    Quand le système tourne, les mises à jour sont simplement téléchargées dans la base de données OSTree et crée une nouvelle entrée de boot. Donc faire une mise à jour ou un rollback, ça se passe au démarrage, et c'est très rapide, il n'y a pas de temps d'attente.

    Voilà pour la petite explication :-)

    Explication simple

    Pour monsieur et madame tout-le-monde, une explication possible serait : les mises à jour du système sont téléchargées dans un dossier, et puis l'ordinateur démarre dans ce dossier.

    « Ben oui c'est évident voyons, pourquoi n'y avons-nous pas pensé plus tôt ?! » ;-)