Subgraph Citadel

Introduction à Subgraph Citadel

Qu’est-ce que Citadel ?

Citadel est le système d’exploitation principal de la nouvelle version de Subgraph OS.

Citadel n’inclut que la session de bureau GNOME et quelques services système de base, rien d’autre. Il est construit et distribué sous la forme d’une unique image disque statique plutôt que comme une collection de paquets logiciels, à la manière d’une distribution Linux traditionnelle telle qu’Ubuntu ou Fedora. Les images disque de Citadel sont entièrement construites à partir du code source des composants logiciels individuels. Cela nous donne un contrôle complet sur ce qui est inclus et sur la façon dont chaque composant est configuré.

Note : Citadel est un système d’exploitation de bureau moderne basé sur le bureau GNOME, mais si vous préférez, nous incluons également un gestionnaire de fenêtres en tuiles nommé Sway comme alternative.

Le système de fichiers racine de Citadel étant immuable, il n’est pas possible d’installer directement dans Citadel des applications telles qu’un navigateur web ou un éditeur de texte. Les applications sont plutôt exécutées dans un environnement isolé distinct appelé Realm.

Lors de la première installation de Citadel, un Realm principal unique est créé et, tant qu’un seul realm est en cours d’exécution, le système ressemble à n’importe quel autre système Linux de bureau et se comporte comme tel. La séparation entre Citadel et le realm dans lequel les applications de l’utilisateur sont lancées est essentiellement transparente pour l’utilisateur. Un utilisateur peut toutefois créer autant de nouveaux realms qu’il le souhaite et chaque nouveau realm se comporte comme un environnement Debian Linux fraîchement installé dans lequel l’utilisateur peut installer des paquets et stocker des fichiers.

Dans Subgraph OS, les realms sont implémentés soit comme des conteneurs, soit comme des machines virtuelles s’exécutant dans un hyperviseur KVM personnalisé. Les deux approches ont leurs avantages, aussi l’utilisateur est-il libre de choisir l’une ou l’autre pour chaque realm qu’il crée.

Note : L’isolation par hyperviseur est plus forte et plus sécurisée, mais l’isolation par conteneur consomme moins de ressources système et permet d’accéder directement aux périphériques matériels et à d’autres fonctions du système. Un utilisateur de Citadel peut décider de la configuration la plus adaptée à chaque Realm qu’il crée.

Socle sans état

Dans l’architecture de Citadel, les briques élémentaires du système sont des images de systèmes de fichiers immuables plutôt que des paquets. Ces images sont montées en lecture seule et cette propriété est garantie par une fonctionnalité du noyau Linux (dm-verity) qui vérifie efficacement que chaque bloc chargé depuis le disque possède une somme de contrôle cryptographique valide. Cela signifie que Citadel charge toujours exactement le logiciel du système d’exploitation préparé par Subgraph et que le redémarrage du système remettra toujours l’ordinateur dans un état connu et cohérent.

Lors d’une mise à jour de Citadel, une image entièrement nouvelle est chargée plutôt que d’appliquer une série de modifications par-dessus un système de fichiers existant. En mettant à jour l’ensemble du système de façon atomique d’une version à la suivante, il n’y a jamais qu’une seule configuration logicielle à considérer et le système ne peut jamais se retrouver dans un état incohérent. Les mises à jour du système ne peuvent pas détériorer votre ordinateur de façon mystérieuse et, même si une mise à jour échoue au démarrage pour une raison quelconque, le système revient simplement à la version précédente qui fonctionnait.