La version 8.6 de Knoppix devient la première de la distribution Linux basée sur Debian à abandonner systemd. Son créateur en explique les raisons

logo_developpez_com

Le 22 août 2019, par Stéphane le calme

La version 8.6 de la distribution Linux basée sur Debian, Knoppix, a été publiée dimanche. Cette distribution a été basée sur Debian 10 (Buster, publiée le 9 juillet) avec des paquets sélectionnés dans les branches dites de testing et unstable de Debian pour permettre la prise en charge de matériel graphique plus récent. Knoppix fait partie des premières distributions Linux pouvant être exécutées en direct à partir d’un DVD et continue de bénéficier d’une grande popularité parmi les passionnés de Linux.

Pour rappel, plusieurs branches de Debian GNU/Linux sont disponibles, chacune représentant un stade précis de l’évolution de la distribution. Il existe trois branches majeures :

  • la branche dite stable ;
  • la branche dite testing ;
  • la branche dite unstable.

Debian « unstable » (connu aussi sous le nom de code Sid) n’est pas à proprement parler une version de Debian mais plutôt une publication continue de la distribution renfermant les paquets les plus récents et les meilleurs qui viennent d’être introduits dans le système Debian.

Knoppix 8.6 a été la première version de la distribution à abandonner systemd, un système d’initialisation et un daemon qui a été spécifiquement conçu pour le noyau Linux comme alternative à System V. Rappelons que systemd a pour but d’offrir un meilleur cadre pour la gestion des dépendances entre services, de permettre le chargement en parallèle des services au démarrage, et de réduire les appels aux scripts shell. Le projet a été lancé par Lennart Poettering en 2010 et publié sous licence GNU LGPL version 2.1.

Systemd est le gestionnaire de système et de service par défaut pour la plupart des distributions Linux. Les critiques relatives à systemd portent principalement sur le fluage des fonctionnalités, car le projet ne serait pas conforme à la philosophie « faire une chose et bien la faire » des systèmes Unix en général. D’autres aspects, tels que l’utilisation de journaux binaires (par opposition aux journaux de texte lisibles par l’homme) ont également suscité des critiques.

Bien entendu, les critiques ont été aussi alimenté lorsque des failles de sécurité ont été découvertes. Nous pouvons par exemple citer trois vulnérabilités découvertes par Qualys dans systemd-journald au début de l’année, notamment :

  • CVE-2018-16864 et CVE-2018-16865, deux corruptions de mémoire ;
  • CVE-2018-16866, une fuite d’informations (lecture en dehors des limites).

Qualys a expliqué que : « À notre connaissance, toutes les distributions Linux basées sur systemd sont vulnérables, mais SUSE Linux Enterprise 15, openSUSE Leap 15.0 et Fedora 28 et 29 ne sont pas exploitables car leur espace utilisateur est compilé avec GCC’s -fstack-clash-protection ».

La première version de Knoppix à supprimer systemd est la 8.5. Bien que cette version ait été distribuée exclusivement avec des exemplaires de Linux Magazine Germany plus tôt cette année, elle n’a pas été mise à la disposition générale pour le téléchargement. Le créateur de Knoppix, Klaus Knopper, a expliqué brièvement la raison qui l’a conduit à supprimer systemd de cette édition.

« La controversée systemd, qui a été l’objet d’un scandal récemment en raison de failles de sécurité, est intégrée à Debian depuis Jessie [8.0] et a été supprimée depuis Knoppix 8.5. Je contourne les dépendances fortes sur le système de démarrage avec mes propres packages.

« Pour continuer à obtenir une gestion de session semblable à celle de Systemd et conserver ainsi la possibilité d’arrêter et de redémarrer le système en tant qu’utilisateur normal, j’exécute le gestionnaire de session “elogind” à la place. Cela évite les interférences de systemd avec de nombreux composants du système et réduit la complexité du système dans son ensemble. Si vous souhaitez démarrer vos propres services au démarrage, vous n’avez pas besoin de créer des unités systemd, mais de les entrer simplement dans le fichier texte /etc/rc.local, qui contient des exemples explicatifs ».

Petit rappel sur les dépendances

Pour rappel, sous Linux, toutes (ou presque) les librairies sont libres et ouvertes. C’est-à-dire, lorsqu’on écrit un programme, on n’a pas besoin de réinventer la roue pour réécrire entièrement des fonctionnalités déjà existantes. Ainsi, les programmes fonctionnent avec le principe des dépendances: pour qu’un programme fonctionne bien, il faut que d’autres paquetages dont dépend ledit programme soient installés. Les avantages sont importants: ce système apporte une plus grande vitesse de développement, mais aussi une plus grande rapidité du système. Par contre, il n’est généralement pas possible, sous Linux, de “télécharger un programme sur le site du fabricant, cliquer sur le .exe et installer”. C’est le rôle des gestionnaires de paquetages.

Nous pourrions dire que les dépendances fortes signifient que le programme sera interrompu si ce paquet n’est pas présent et les dépendances légères signifient que le programme peut ne pas être affecté fatalement.

Knoppix a utilisé systemd de 2014 à 2019, ce qui en fait l’une des très courtes listes de distributions à adopter et par la suite abandonnées à systemd (Void Linux par exemple en fait partie). Dans le même ordre d’idées, le fork Debian Devuan a été fondée en 2016 autour d’une philosophie sans systemd.

Knoppix propose également une variante ADRIANE (Audio Desktop Reference Implementation And Networking Environment), qui fournit « un système de menus parlants, censé faciliter le travail et l’accès Internet pour les débutants en informatique, même s’ils n’ont aucun contact visuel avec le moniteur de l’ordinateur », incluant éventuellement un environnement graphique alimenté par Compiz prenant en charge le grossissement.

Sources : Klaus Knopper, Qualys

En savoir plus …