Vous avez un vieux PC, qui tourne sous Ubuntu, et vous constatez que, version après version, Ubuntu est de plus en plus lent. Vous êtes pourtant contraint de migrer car la durée de vie des versions d’Ubuntu, même LTS, est finalement assez courte.
Au final, années après années, votre PC sous Ubuntu devient plus lent, limite presqu’inutilisable maintenant tellement c’est lent.
Le problème n’est pas l’interface Gnome, qui deviendrait de plus en plus gourmande en ressources au fil de ses versions, mais systemd.
Pour comprendre ce qu’est systemd, il faut revenir aux origines du monde Unix, basé sur la philosophie KISS (Keep It Simple, Stupid), c’est à dire basé sur des briques logicielles simples, ne faisant qu’une chose mais la faisant de manière excellente.
L’exemple type est la commande Unix « sort« , qui permet de trier ce qu’on lui donne en entrée. Quel que soit votre talent, si vous programmez vous-même une fonction de tri, elle sera assurément moins performante que le programme sort. Pour une bonne et simple raison : il y a des gens dans le monde qui font des thèses de doctorat sur les algorithmes de tri, et les algorithmes les plus avancés dans la recherche sont implémentés dans la commande sort. Vous ne pourrez pas lutter avec l’un de vos programmes. C’est un exemple typique du KISS : la commande est simple, ne sait faire qu’une chose, mais le fait vraiment très très bien.
Conformément à la philosophie KISS, les systèmes Unix, dont Linux, démarrent traditionnellement en bootant le noyau, qui finit par donner la main à un programme d’initialisation dont le processus est lancé en ayant le PID 1. Ce programme a pour tâche de lancer tous les autres processus de sorte que le système entier soit opérationnel. Ce programme d’initialisation traditionnel est init, et provient de son ancêtre init system V.
Tout comme sort, init est léger, ne sait faire qu’une chose mais le fait très bien : lancer tout le système.
Tout allait bien jusqu’à ce qu’en 2010, un ayatollah de chez Red Hat, Lennart Poettering, change la donne en décrétant qu’init n’était plus assez bien, qu’il fallait l’abandonner au profit de son bébé systemd, qui ne respecte plus le principe KISS. En effet, systemd permet d’initialiser comme init, mais il donne également un cadre global pour créer des services (les services existent aussi sous System V, mais assurés par un autre programme qu’init).
Systemd est une véritable usine à gaz de millions de lignes de code, utilisant des sockets, des bus, et beaucoup d’autres mécanismes.
Le problème est que la mayonnaise a pris : dans les années qui ont suivi presque toutes les distributions Linux ont poubellé init et adopté systemd, qui a continué à grossir dans le même temps.
Aujourd’hui tous les Linuxiens qui ont découvert le système d’exploitation depuis moins de 15 ans n’ont même pas idée qu’il existait quelque chose de plus simple avant systemd. Tout le monde a appris à utiliser systemd, à créer des services, à les lancer les arrêter, etc. Systemd est tellement intégré qu’il devient de plus en plus difficile de faire sans. Et ce n’est pas prêt de s’arrêter car Lennart l’ayatollah continue, et bientôt sudo sera remplacé par run0, une commande reposant sur systemd.
L’enfer étant pavé de bonnes intentions, systemd s’impose en rendant plus propre et plus pro beaucoup de mécanismes. Cette tendance finit par dénaturer l’OS, qui est de moins en moins un Unix. Si demain une faille majeure devait être trouvée dans systemd, tout l’éco-système Linux s’écroule.
La résistance à systemd

Le combat est vain car l’industrie a déjà massivement adopté systemd, mais ce n’est pas pour autant que certains ne luttent pas. L’enjeu en vaut la chandelle, notamment sur les anciens PC car, dès qu’on abandonne systemd et qu’on reprend init, le bourricot se transforme illico en cheval de course.
Plusieurs distributions luttent contre systemd. C’est le cas notamment de Slackware, une des plus vieilles distributions encore en vie (et populaire mine de rien). Mais si vous voulez absolument bénéficier de Gnome dans sa dernière version, la distribution conseillée est Devuan (qui est une Debian sans systemd).
La dernière version « Excalibur » est un petit bijou qui permet d’avoir à la fois l’expérience de bureau la plus récente ET la philosophie KISS, c’est à dire la performance pure, même sur une machine ancienne.
La vélocité du système est vraiment impressionnante, si l’on vient d’Ubuntu par exemple.
Contrairement à Ubuntu, l’utilitaire d’installation est en mode texte fenêtré (ncurses) et non graphique. Il est conseillé de copier l’image iso de Devuan sur une clé dédié, car elle ne fonctionnera pas avec Ventoy, même la version la plus récente de Ventoy (qui finit par se révéler comme un outil très limité par rapport à Rufus).
Nous n’allons pas vous faire l’injure de faire un tuto sur l’installation de Devuan, leur site proposant déjà ce tuto, qu’il suffit de traduire automatiquement en français dans le navigateur.
Ce qu’il faut principalement noter, c’est que Devuan excalibur permet certes d’utiliser la dernière interface graphique Gnome, mais pas que. Pratiquement toutes les interfaces modernes sont disponibles et accessibles d’un clic :

Devuan vient avec ses propres dépôts, constitués des logiciels que vous connaissez déjà sous Ubuntu mais expurgés de leurs dépendances à systemd.
Pratiquement tous les logiciels connus fonctionnent directement. Les seuls problèmes rencontrés lors des tests ont porté sur le VPN Mullvad et l’installation de docker pour lesquels il a fallu ruser mais avec succès puisque des solutions existent (par des passionnés d’init toujours) et le résultat est opérationnel.
L’installation de Mullvad VPN et de docker sous Devuan feront l’objet d’un article dédié.

Pour aller plus loin

