Aller au contenu

Un programme d’installation qui sait ce qu’il fait.

Arch Linux · Configuration sous forme de données · 0.9.4 Beta

Un programme d’installation qui sait ce qu’il fait.

En dessous, Arch sans modification. Par-dessus, une base de connaissances de configuration – chaque paramètre et chaque interaction entre paramètres y sont encodés de manière transparente.

# installer pipeline — NVIDIA detection
$ detect          Quadro K3100M (PCI 11b6)
$ cross-reference github.com/NVIDIA/open-gpu-kernel-modules
$ cross-reference nvidia.com/…/legacy-gpu
$ decide          recommend proprietary legacy driver 470
$ verify          nvidia-470xx-dkms present in the repository
✓ four conflicting options resolved into one consistent default
Ce qui la distingue

Trois principes, appliqués partout.

01 – TRANSPARENT

Chaque choix est une donnée

Paramètres, dépendances et scripts de cycle de vie résident dans une base de connaissances KDL – vérifiable, facile à dériver, récupérée au moment de l’installation, si bien que les améliorations sont livrées sans qu’il faille produire une nouvelle image ISO.

02 – DURCI

Sécurité par défaut

Atténuation des vulnérabilités propre à chaque processeur, sysctl de durcissement du système, espaces de noms utilisateur restreints, hardened_malloc en option. Activé par défaut et désactivable, et non l’inverse – et chaque compromis est expliqué là où vous le faites.

03 – QUATRE BUREAUX

XFCE · Wayfire · Niri · COSMIC

Choisissez-en un, ou installez les quatre côte à côte et passez de l’un à l’autre depuis l’écran de connexion. Wayfire et Niri sont fournis avec waybar, nwg-launchers et nwgbar déjà configurés ; XFCE et COSMIC apportent leurs propres panneaux. Aucun d’eux n’est réduit au strict minimum.

Choisir, combiner, changer

Quatre bureaux à égalité, et non un bureau par défaut et trois ajoutés après coup.

Wayfire et Niri sont communément considérés comme des environnements incomplets. Ditana fournit tout ce dont ils ont besoin – une waybar soignée, nwg-launcher, nwgbar et une disposition cohérente des panneaux – et traite chacun des quatre bureaux comme un environnement à part entière.

XFCE sur Ditana avec le thème Blue Flat, Firefox, Thunar
XFCE – Xorg, mature, rapide
Wayfire sur Ditana avec le thème Blue Vibrant, Brave, Thunar
Wayfire – Wayland, inspiré de Compiz
Niri sur Ditana avec le thème Blue Vibrant, Brave, COSMIC Files
Niri – Wayland, mosaïque défilante
COSMIC sur Ditana avec le thème Amber Rounded, LibreWolf, Thunar
COSMIC – Wayland, le bureau en Rust de System76
Publication continue, sans les risques

Chaque mise à jour est réversible.

Le modèle de publication continue d’Arch est une fonctionnalité, pas un bogue – mais il peut provoquer des dysfonctionnements un mardi matin. Ditana désamorce ce risque en prenant automatiquement un instantané du système avant chaque mise à jour.

Instantanés atomiques, pris par un crochet pacman.

Boîte de dialogue de maintenance du système montrant l’option d’instantanés automatiques du système activée par défaut

Avec ZFS et BTRFS, les instantanés sont atomiques et gratuits – quelques millisecondes avant chaque mise à jour de paquets. Avec XFS et EXT4, Timeshift accomplit la même tâche au moyen de rsync et termine les instantanés incrémentiels habituels en quelques secondes.

Le premier instantané est créé par le programme d’installation lui-même, juste avant le premier redémarrage. Vous pouvez donc revenir à un système fraîchement installé dès le premier jour – sans configuration, sans problème de la poule et de l’œuf à la première mise à jour.

Des instantanés du système, pas des données : /home et les autres volumes de données ne sont jamais touchés. Restaurez le système, gardez votre travail.

Pour ZFS, Ditana fournit son propre fork de zfs-autosnap qui – contrairement au projet amont – retire le fichier de verrouillage de pacman de l’instantané, si bien qu’une restauration vous laisse immédiatement un pacman fonctionnel.

Également sans interface graphique. Le durcissement du système et les instantanés automatiques font de Ditana un choix viable de serveur basé sur Arch – ce qui est rare pour une distribution en publication continue. Le profil Server du programme d’installation fait entièrement l’impasse sur l’installation du bureau et s’appuie pleinement sur les paramètres de sécurité par défaut.

Attentif au matériel

Elle consulte les sources amont au moment de l’installation.

Boîte de dialogue de choix du pilote NVIDIA avec l’identifiant PCI détecté et la justification de la recommandation

Détection NVIDIA, choix entre quatre options.

Au moment de l’installation, Ditana interroge les listes actuelles d’identifiants PCI de github.com/NVIDIA/open-gpu-kernel-modules et la page officielle des anciens GPU. En fonction du résultat, elle recommande l’une des quatre options de pilote – nvidia-open-dkms, l’ancien pilote propriétaire nvidia-580xx-dkms, le plus ancien nvidia-470xx-dkms ou nouveau – et vérifie que le paquet qu’elle s’apprête à recommander est présent dans le dépôt, en se rabattant sur nouveau lorsque ce n’est pas le cas.

Elle explique ensuite ce qu’elle a choisi, et pourquoi.

Vulnérabilités du processeur, détectées et atténuées.

Spectre v2, Meltdown, MDS, TAA, MMIO Stale Data, RETBleed, SRSO, GDS, RFDS – Ditana lit /sys/devices/system/cpu/vulnerabilities/ au moment de l’installation, n’active que les mesures d’atténuation dont votre processeur a réellement besoin et vous permet d’examiner chacune d’elles, documentation à l’appui.

Chaque mesure d’atténuation est accompagnée de son coût, exposé en clair, afin que vous puissiez décider en connaissance de cause au lieu de choisir à l’aveugle entre « valeur par défaut sûre » et « valeur par défaut rapide ».

Boîte de dialogue d’atténuation des vulnérabilités du processeur montrant les vulnérabilités détectées et les mesures d’atténuation sélectionnables
Boîte de dialogue des options de durcissement du système

Durcissement du système, activé par défaut et désactivable.

Espaces de noms utilisateur non privilégiés réservés aux programmes qui en ont besoin. Usage de ptrace restreint. Pointeurs du noyau masqués. Protection renforcée des FIFO et des fichiers ordinaires dans les répertoires dotés du sticky bit. Cookies SYN, pas de redirections ICMP, pas de routage par la source, filtrage par chemin inverse. Chaque option est livrée activée, chacune est expliquée – et les développeurs disposent d’un profil qui assouplit ce qu’il faut pour le débogage.

Le programme d’installation lui-même

Dix catégories. Des valeurs par défaut judicieuses. Aucun mystère.

Indiquez au programme d’installation qui vous êtes – vous venez d’une autre distribution, vous quittez KDE Plasma, Cinnamon, Xfce ou MATE, vous êtes développeur, vous installez un serveur, ou aucun de ces cas – et il positionne d’avance les cases à cocher en conséquence. Vous pouvez examiner et modifier chacune d’entre elles avant le début de l’installation.

Boîte de dialogue de vue d’ensemble des catégories de configuration

Un seul écran, tout le système.

Les catégories de configuration vous permettent d’explorer en détail les bureaux, les navigateurs, les gestionnaires de fichiers, les suites bureautiques, les outils d’IA, les terminaux, les noyaux, les systèmes de fichiers, le durcissement, les mesures d’atténuation et l’allocateur de mémoire du système – le tout depuis un seul menu, entièrement réversible et entièrement expliqué.

Chaque modification s’accompagne de ses effets.

Activez ou désactivez une option, et voyez la conséquence : quels paquets sont ajoutés, quels scripts seront exécutés, quels autres paramètres basculent en réponse. Le graphe des paramètres est constitué de données – Ditana vous y montre le chemin.

Vue d’ensemble des effets des paramètres montrant les modifications dépendantes
Configuration sous forme de données

Le programme d’installation est petit. La base de connaissances est grande.

Un programme d’installation Linux devrait faire plus que partitionner, installer des paquets et passer la main. Les PKGBUILD ne connaissent que leur propre paquet – ils ne peuvent pas savoir ce qui se trouve d’autre sur le système. Ditana conserve les décisions transversales dans une base de connaissances distincte et vérifiable.

Les paramètres déclarent leurs dépendances en simple KDL.

Cet extrait dit : installer kitty uniquement si le terminal choisi ne fonctionne que sous Wayland et que XFCE est aussi installé. Personne ne songerait à le demander, et personne n’en a besoin : la règle se trouve à côté de la liste des paquets, et non enfouie dans le code du programme d’installation, si bien qu’un relecteur peut y voir à la fois la condition et sa raison d’être.

Parcourir ditana-config →

// XFCE fallback for Wayland-only primary terminals
// (foot, cosmic-term). Fires when the user picks a
// Wayland-native terminal AND also installs XFCE.
- name="fallback-kitty-for-xfce" \
  default-value="`(install-foot OR install-cosmic-term)
                  AND install-xfce`" {
    arch-packages "kitty" "imagemagick" ...
    chroot-script "echo kitty.desktop
                   >/etc/xdg/xfce-xdg-terminals.list"
}

Envie de l’essayer ?

Ditana 0.9.4 Beta est une image ISO de 1.9 GB accompagnée d’une signature GPG détachée. Elle récupère ses paquets et sa configuration pendant l’installation, si bien qu’une connexion réseau fonctionnelle fait partie de la configuration requise. L’installation complète prend de 15 à 45 minutes selon ce que vous choisissez.

Cette traduction a été réalisée par une machine. Les lecteurs l’améliorent sur Weblate.