Passage de Archlinux à Debian : le pourquoi du comment

Changer de distribution, pour ne plus avoir à s’en soucier.

Je n’ai plus envie de passer du temps à personnaliser et mettre à jour en permanence ma distribution : j’essaye de lâcher un peu l’ordinateur pour me mettre à d’autres activités. Cela implique que quand j’allume celui-ci, il faut qu’il soit opérationnel rapidement et que la maintenance doit être minime.

Nous allons donc voir pourquoi j’ai abandonné Archlinux — que j’utilisais depuis pas mal d’années déjà — pour rejoindre la folle aventure Debian.

Le risque de la mise à jour qui casse

Avec Archlinux, le pacman -Syu devient un réflexe pour mettre sa distribution à jour, mais c’est également une sorte de roulette russe : on se sait jamais trop dans quel état on va retrouver notre système. Normalement ça se passe bien, mais il m’est déjà arrivé plusieurs fois que ça ne se déroule pas aussi simplement. Souvent c’est bénin, mais ça peut faire perdre du temps. Beaucoup de temps même.

Un exemple il y a quelques années, sur une installation chiffrée sur l’ancien PC portable que je trimbalais partout avec moi : celui-ci ne démarre plus à cause d’un problème de systemd. Le seul moyen de dépanner la machine est d’aller faire un chroot dans celle-ci à partir d’un live-USB Archlinux, afin de débloquer ce qui coince, puis de réessayer le démarrage sur le disque. Il faut donc d’abord déchiffrer le disque, ensuite monter les partitions LVM une à une, on change un fichier, pour enfin redémarrer. Pas de bol, ça ne fonctionne pas. La nouvelle erreur nous avance un peu mais il est toujours impossible de se connecter. Rebelote, il faut repartir sur le live-USB, déchiffrer, monter les partitions à la main, etc..

Fort de cette expérience, je n’ai plus jamais chiffré un PC utilisant Archlinux. Avec cette nouvelle installation de Debian stable, j’ai plus confiance en la stabilité de ma distribution pour pouvoir de nouveau chiffrer mon système.

Je ne reproche pas à Archlinux cette mésaventure, car j’ai dû surement mal m’y prendre pour arriver dans cette situation. C’est par contre le côté roulette russe que je veux mitiger désormais : je n’ai plus envie de consacrer autant de temps qu’auparavant à bricoler et réparer mon installation GNU/Linux après chaque mise à jour aléatoire.

Réduire le coup de la maintenance

J’ai toujours utilisé Debian sur mes serveurs et autres machines que j’administrais peu souvent. Cela me permettait de limiter la maintenance au minimum : pas de mise à jour de version majeure en utilisant le canal stable, juste des mises à jour de sécurité, tout ce que l’on demande pour un serveur que l’on oublie assez souvent dans son coin. J’ai même mis en place unattended-upgrades sur certaines machines, afin que le système installe automatiquement ses mises à jour de sécurité tout seul, et me notifie par email quand il faut redémarrer la machine ou faire d’autres manipulations pour garantir la sécurité de celle-ci. C’est vraiment très agréable, on peut laisser la distribution se débrouiller toute seule dans son coin.

Cependant, Debian avait toujours un retard considérable sur Archlinux, avec des paquets qui venaient de naître au moment où je les comparais — par exemple GNOME ou Wayland. C’était pas top pour avoir un environnement de bureau à jour, aussi l’installation de Archlinux s’est vite imposée pour les machines que j’utilisais quotidiennement, principalement pour cette raison.

Cependant, avec Debian Buster, ça change pas mal la donne. Wayland est désormais installé par défaut au lieu de Xorg. Quel joie de pouvoir utiliser un environnement de bureau qui soit aussi grâce à l’utilisation de la carte graphique intégrée. Plus grand chose ne me retenait sur Archlinux désormais.

Environnement de bureau : retour à la facilité

J’utilisais avec passion Sway sur le portable avec Archlinux il y a encore de ça quelques jours, et c’était pas mal car on pouvait tout contrôler au clavier. Mais cela avait un coût que moi-même je refusais de voir : il fallait tout réimplémenter à coups de scripts shell pour avoir quelque chose d’utilisable.

Par défaut, pas de gestion des touches de son. Pas de gestion de la luminosité. Pas de gestion de l’extinction de l’écran pour qu’il s’éteigne sauf quand une vidéo tourne en plein écran. Bref, tout un tas de fonctionnalités que j’ai implémenté en shell mais qu’il fallait maintenir, et on avait pas tout. Aussi, je trichais et repassais dans GNOME quand il fallait ajouter un réseau Wi-Fi — parce que même problème : rien qui permette d’aller faire ça sans aller appeler un programme en ligne de commande. N’imaginez même pas utiliser un casque Bluetooth.

J’ai installé GNOME 3 en stable sur le portable pour l’instant, et tout fonctionne très bien. J’ai noté que quelques fonctionnalités étaient manquantes par rapport à Archlinux — notamment le fait de pouvoir lancer les applications de la barre principale avec Meta+<num_appli> — mais rien d’insurmontable.

Sway c’est super cool, mais il manque — par choix de l’auteur et par minimalisme que je comprends — beaucoup de choses. On passe du temps à tout configurer et à maintenir ça, pour un résultat pas terrible (pas de gestion du Wi-Fi, gestion manuelle de l’éclairage…). Imaginez si j’avais passé ce temps à écrire des articles de blog plutôt qu’à essayer de configurer les notifications d’applications… il y en aurait surement en plus grande quantité ! (on espère)

Du coup si j’ai vraiment besoin de faire du tiling de terminaux, j’utilise tmux que je pratique également au boulot, et qui commence donc à bien rentrer dans ma mémoire musculaire.

La possibilité de repasser en rolling release

Là où Archlinux ne vous laisse pas tellement le choix, on peut dans Debian choisir de sortir du canal stable (par défaut) pour passer à testing. Dans cette version, tous les paquets sont mis à jour plus ou moins fréquemment. Il n’y a plus de notion de freeze de versions que l’on retrouve dans stable. Cela veut dire que si à un moment je souhaite passer mon système de stable vers des versions plus à jour, alors je peux tout passer sur testing.

Une autre possibilité existe : si je veux une version plus récente d’un logiciel tout en gardant ma distribution en stable, alors je peux tenter de récupérer une version plus à jour avec les backports. Les backports sont des versions que paquets tirés de testing et adaptés pour qu’ils fonctionnent correctement dans stable : par exemple, descendre des versions des dépendances si nécessaire pour que ça fonctionne. Ou alors installer une nouvelle version d’une dépendance à côté de la version stable — sans l’impacter — pour que les logiciels qui en ont besoin dans le canal stable ne soient pas lésés.

On peut ainsi avoir le meilleur des deux mondes : toute une distribution basée sur stable, avec quelques paquets tirés des backports quand c’est nécessaire. Il faudra par contre faire attention au niveau des mises à jour de sécurité, qui seront plus lentes à arriver dans les backports que dans stable.

Rejoindre une communauté

La contribution aux paquets d’Archlinux se fait principalement par AUR, pour Archlinux User Repository. J’y ai moi-même porté quelques paquets. Mais une fois que votre paquet est dans AUR, c’est quoi la suite pour que ce soit dans la distribution ? Ici c’est le flou pour moi.

J’ai par exemple porté la documentation de libgd dans ce paquet AUR, car j’aime bien pouvoir lire la référence hors ligne des bibliothèques logicielles avec lesquelles je développe sur ma machine. Pour moi ce paquet est essentiel et devrait être disponible pour tous, en dehors de AUR, directement dans la distribution officielle. Cependant la contribution à Archlinux n’a pas l’air très ouverte. Un système de vote est mis en place sur les paquets AUR, afin de savoir lesquels sont les plus populaires. J’imagine qu’un paquet recueillant suffisamment de votes pourra ensuite être intégré dans la distribution. Vu que mon paquet n’a reçu aucun vote, il n’a donc aucune chance d’être intégré.

Au final, ce n’est pas une grande perte, puisque je viens de me rendre compte que la libgd n’est pas disponible ni dans les paquets officiels, ni sur AUR. Cela veut dire que les utilisateurs de AUR ont actuellement accès à la documentation, mais pas à la bibliothèque. Ma main dans la tête (facepalm).

Si on regarde maintenant sur Debian :

libgd-barcode-perl/stable 1.15-7 all
  Perl module to create barcode images

libgd-dev/stable 2.2.5-5.2 amd64
  bibliothèque graphique GD –⋅version de développement

libgd-gd2-noxpm-ocaml/stable 1.0~alpha5-8 all
  OCaml interface to the GD library -- transitional package

libgd-gd2-noxpm-ocaml-dev/stable 1.0~alpha5-8 all
  OCaml interface to the GD library -- transitional package

libgd-graph-perl/stable 1.54~ds-2 all
  Graph Plotting Module for Perl 5

libgd-graph3d-perl/stable 0.63-9 all
  Create 3D Graphs with GD and GD::Graph

libgd-ocaml/stable 1.0~alpha5-8+b6 amd64
  OCaml interface to the GD library -- runtime files

libgd-ocaml-dev/stable 1.0~alpha5-8+b6 amd64
  OCaml interface to the GD library -- developpement files

libgd-perl/stable 2.71-2 amd64
  Perl module wrapper for libgd

libgd-securityimage-perl/stable 1.75-1 all
  security image (captcha) generator

libgd-svg-perl/stable 0.33-2 all
  Seamlessly enable SVG output from scripts written using GD

libgd-text-perl/stable 0.86-9 all
  utilitaires pour le texte à utiliser avec GD

libgd-tools/stable 2.2.5-5.2 amd64
  outils en ligne de commande et code d'exemple de GD

Les mainteneurs de libgd n’ont pas eu à passer par AUR. C’est disponible directement dans la distribution. Par de PKGBUILD à télécharger, pas de helpers bizarroïdes à utiliser pour aller chercher dans AUR (yaourt, ça vous rappelle des souvenirs ?). Rien. Nada. Quedshi. Juste apt install libgd-dev. Et certaines descriptions de paquets sont même traduites en Français !

Le wiki Debian explique comment contribuer à la distribution, qui est ouverte à toutes et à tous. Pas de système de vote, pas de popularité, pas de AUR, si on veut ajouter un paquet, il faut lire la charte Debian et c’est parti.

D’ailleurs la contribution à la distribution ne se limite pas qu’à créer des paquets : on a la chance d’avoir la plupart des pages du wiki de Debian traduites en français. On ne dirait pas grand chose comme ça, mais qu’est-ce que c’est agréable de lire comment créer un paquet pour la distribution dans sa langue natale. Parfois certains passages sont en anglais, mais à nous alors de mettre la main à la pâte et de les traduire, pour en faire profiter toute la communauté francophone.

Alors, soyons clair, je n’ai pas encore activement rejoins ladite communauté. Ma seule adhésion à celle-ci pour l’instant se résume à :

  • avoir discuté avec un autre mainteneur Debian sur un stand ;
  • lui avoir acheté un t-shirt aux couleurs de la distribution.

Néanmoins je me sens être le bienvenu pour me joindre à l’aventure et aller plus loin. Que ce soit pour commencer par traduire une page, ou créer un paquet, la communauté à l’air bienveillante et c’est un grand plus.

Allez, il faut conclure

Je n’ai pas tapé un pacman -Syu depuis 3 jours. Quand je lance apt update, il n’y a souvent rien à faire. Je ne sais pas si je vais tenir le coup. Du coup j’écris cet article. Peut-être que ça augmentera la fréquence de trucs utiles que je fais sur ce PC ; au moins maintenant il est chiffré.

Souhaitez moi bonne chance.

Une question ou remarque ? N'hésitez pas à me contacter en envoyant un mail à microjoe, suivi d'un arobase, puis encore microjoe et enfin un « point org ».