La vidéo est disponible ici ou sur la chaîne Youtube https://www.youtube.com/user/yrougy


Version texte:

Qu’est-ce qu’une distribution Linux ?

Bonjour, c’est Yves ! Aujourd’hui un nouvel épisode de 3 minutes pour comprendre. Ça faisait un petit moment que je n’en avais pas fait un ! Et cette semaine je réponds à une question qui revient assez souvent. En fait « c’est quoi une distribution Linux ? »

Alors installez vous confortablement, je vous explique ça aujourd’hui !

// Générique //

La première chose à comprendre aujourd’hui, c’est que, techniquement parlant, Linux n’est pas un système d’exploitation. Il s’agit « juste » du noyau du système d’expl oitation. C’est une brique indispensable, mais qui prise séparément, elle ne sert pas à grand chose. Mon système d’exploitation, enfin le « truc » que je manipule sur mon ordinateur est composé de plusieurs briques logicielles. Et la première de ces briques, c’est le noyau. Sur Linux, le noyau est développé par une équipe de développeurs, principalement des professionnels, et le noyau est disponible pour toute personne qui souhaite l’avoir, sous forme de code source sur le site Kernel.org. On le trouve aussi sur le site Github, mais le site de référence est bien le site kernel.org.

On a notre première brique. Elle est gérée par une entité qui s’appelle la Linux Foundation. C’est d’ailleurs elle qui paie Linus Torvalds et quelques autres développeurs pour travailler sur le noyau.

Maintenant, si je veux travailler sur mon système, je vais avoir besoin de quelques petits programmes de base. Comme le shell par exemple, ou des commandes telles que ls, cp, vi etc. Les commandes de la boite à outils Unix de base. Et ça, la Linux Foundation ne s’en occupe pas. Par contre, on trouve quelques projets indépendants qui permettent d’avoir ces outils. Le plus connu est le projet GNU, qui associé au noyau Linux, donne ce qu’on appelle un GNU/Linux, la combinaison du noyau Linux et des outils GNU pour faire un système d’exploitation un minimum fonctionnel. Mais ce n’est pas le seul projet. Il existe aussi le projet Busybox par exemple qui contient une implémentation de ces utilitaires avec un gros effort fait pour que ça consomme très peut d’espace. À l’origine, Busybox était utilisé pour avoir un système d’exploitation qui fonctionne à partir d’une simple disquette… Oui c’est vieux et c’est pour ceux qui arrivent à se souvenir de ce qu’est une disquette. Aujourd’hui il est pas mal utilisé dans ce qu’on appelle l’embarqué, c’est à dire le Linux qui sera dans des appareils qui ne sont pas des ordinateurs, comme des ascenseurs, des téléviseurs par exemple. Il y a aussi le projet Toybox qui permet d’avoir ces outils sous une licence d’utilisation  BSD qui est un peu différente de la licence GPL qui est utilisée par le projet GNU.

Avec ces éléments on a les toutes premières briques logicielles qui composent notre système d’exploitation. On pourrait ajouter l’interface graphique qui vient d’un autre projet qui s’appelle X.org ou Wayland, on pourrait ajouter des logiciels serveurs comme apache, qui lui vient de la fondation apache, et je pourrais continuer comme ça avec plein d’origines différentes pour toutes ces briques logicielles.

Donc pour résumer, notre système d’exploitation est une compilation d’un ensemble de briques logicielles qui sont gérées par des entités ou organisations différentes. Et c’est donc là qu’on trouve la distribution.

Si moi, Yves, le Jurassic Geek, je choisis une version du noyau sur le site kernel.org, et que je le compile. Que je vais chercher les outils de base du projet toybox par exemple, que je les compile et que je prépare pour que les deux fonctionnent ensemble, j’ai créé une distribution. Alors c’est très embryonnaire et il y a pas mal de boulot, mais c’est vraiment ça l’idée basique de ce qu’est une distribution.

Alors, aussi simple que soit cette distribution, les éditeurs ne se sont par arrêté là. En plus du choix des outils et des projets à inclure dans la distribution, ils ont ajouté des choses très importantes aujourd’hui pour la gestion d’un système. Tout d’abord un installeur, qui est juste un programme qui permet de préparer le disque dur, de le partitionner, et de créer une arborescence de base dans laquelle les logiciels de la distribution seront installés. Mais ces logiciels seront installé sous la forme de paquets logiciels. Je pense que ça vaudrait le coup d’un épisode à part entière sur les paquets logiciels.

En gros l’idée d’un paquet, c’est un outil qui va permettre à l’administrateur d’un système de pouvoir installer des fichiers dans son système, et de pouvoir les désinstaller sans tout casser. Mais je m’égare.

Qu’est-ce que donc une distribution ? Il s’agit tout simplement de la sélection d’un ensemble de logiciel, d’un noyau, et des outils de bases prêts à fonctionner ensemble. On rencontre de gros éditeurs de distributions, que ça soit Redhat, Canonical avec Ubuntu, Debian, et des dizaines d’autres. Mais chacun peut créer sa propre distribution, et le site distrowatch.com essaie d’en répertorier le maximum. La plupart des gens qui créent une distribution le font pour un besoin particulier, et on rencontre donc beaucoup de distributions spécialisées dans une fonction particulière: sécurité, forensics, routage, voix sur IP, etc.

Alors voilà pour ce petit 3 minutes pour comprendre ce qu’est une distribution, j’espère que vous avez appris quelquechose ! Si ce n’est pas encore le cas, n’hésitez pas à vous abonner, et surtout, si vous pensez que cette vidéo, ou les autres de la chaîne, peuvent aider quelqu’un, partagez la vidéo, faites connaître la chaîne ! Je compte sur vous.

En attendant, je me remets au boulot pour vous préparer une vidéo pour la semaine prochaine !

Ciao les geeks