Gentoo Linux
Gentoo Linux (/ˈdʒɛn.tu/) est une distribution GNU/Linux dite source. Elle a été conçue pour être modulaire, portable et optimisée pour le matériel de l'utilisateur. Sa particularité est que le système est entièrement compilé à partir des sources (à quelques éventuelles exceptions près), à la manière de Linux From Scratch, mais automatisée, ces tâches étant réalisées par l'intermédiaire du gestionnaire de paquets Portage de Gentoo Linux et sa commande emerge[2].
Gentoo Linux | |
LiveCD Gentoo Linux 12.0. | |
Famille | GNU/Linux |
---|---|
Type de noyau | Monolithique modulaire |
État du projet | en développement |
Dépôt | gitweb.gentoo.org/repo/gentoo.git |
Plates-formes | i386, x86-64, PowerPC, PowerPC 64, sparc, DEC Alpha, ARM, MIPS, PA-RISC, S390, IA-64, sh, m68k |
Entreprise / Fondateur |
Daniel Robbins |
Entreprise / Développeur |
Fondation Gentoo |
Licence | GNU GPL |
Première version | [1] |
Dernière version stable | 2.9 |
Méthode de mise à jour | emerge (rsync) |
Interface utilisateur par défaut | Console |
Gestionnaire de paquets | Portage |
Site web | www.gentoo.org |
Histoire
Gentoo Linux est issue de Enoch Linux, mise au point par le programmeur Daniel Robbins, qui avait pour but de créer une distribution adaptée au matériel et aux besoins de l'utilisateur, sans binaires précompilés et sans programmes superflus préinstallés[3]. La version 0.75 d'Enoch est disponible en décembre 1999.
La version 1.0 de Gentoo sort le 31 mars 2002[4]. Robbins créa la Fondation Gentoo à qui il transféra tous les droits de marque et de propriété de la distribution et se mit en retrait du projet[5]. Il fonda plus tard Funtoo, une distribution basée sur Gentoo avec qui elle reste entièrement compatible.
Caractéristiques
Sous Gentoo Linux, la quasi-totalité des programmes devront être compilés à partir du code source[6]. Quelques logiciels, notamment certains dont la compilation est particulièrement longue et nécessite une grande quantité de mémoire vive, comme Chromium, Firefox, Rust ou LibreOffice, sont toutefois également disponibles sous forme de paquets précompilés (fichiers binaires) pour différentes architectures. C'est également le cas de quelques autres dont le code source n'est pas disponible, par exemple des logiciels propriétaires comme Discord ou CrossOver. Au total, environ une centaine de paquets (sur plus de 19 000) sont disponibles sous forme de binaires. Il existe aussi un paquet fournissant une version précompilée du noyau Linux avec une configuration générique, la compilation d'un noyau pouvant être longue et la configuration d'un noyau n'étant pas une étape triviale pour un utilisateur débutant. Gentoo dispose également de genkernel, un outil qui lui est spécifique et permet de faciliter la création, la compilation et l'installation du noyau.
Les outils de gestion de paquets de Gentoo s'inspirent des ports (en) des BSD. Ce processus permet une optimisation et une personnalisation complète du système mais prend un certain temps et requiert certaines ressources systèmes pour compiler tous les logiciels nécessaires.
Ce type d'installation permet de tirer parti au mieux de l'architecture de la machine. En effet, le code source sera compilé en tenant compte des optimisations possibles du jeu d'instructions du processeur. La majeure partie des distributions sont compilées avec un jeu d'instructions générique et non pas pour un processeur plus récent, ceci afin de conserver un fonctionnement sur le maximum de machines. Les processeurs plus récents fonctionnent alors de façon minimale sans utiliser les optimisations du fondeur.
Il existe un autre principe d'optimisation pour la compilation des différents programmes et composants, appelé USE flags (ou variables USE), qui permet de choisir quelles parties d'un programme ou quelles dépendances optionnelles seront compilées et installées, ce qui permet à la fois de diminuer le temps de compilation, l'espace disque nécessaire et l'espace mémoire pour chaque application et dépendance aussi bien pour l'utilisation que l'installation des programmes. Cela permet également à l'utilisateur d'échapper à d'éventuelles failles de sécurité liées à une fonctionnalité d'un programme s'il choisit de ne pas l'intégrer par son choix de Use flags.
De plus, ce type d'installation permet de gérer facilement les dépendances, et ceci même lors d'une mise à jour majeure de toute la distribution. En effet, lors de l'installation de chaque programme les bibliothèques de développement qui l'accompagnent sont automatiquement installées, et les autres programmes qui utilisent ces bibliothèques pourront être recompilés avec la nouvelle version de ces bibliothèques lors de la mise à jour. Le résultat est un système performant, cohérent et stable.
Un autre intérêt de Gentoo Linux est de laisser l'utilisateur entièrement libre de configurer son système, en choisissant un certain profil d'utilisation lors de l'installation[7], puis en sélectionnant les applications de façon individuelle, ce qui peut permettre de conserver un système très léger et strictement adapté à des usages déterminés. C'est un point qui rapproche Gentoo notamment d'Arch Linux, Slackware et quelques autres distributions, et qui les oppose à la plupart des autres, qui offrent peu d'options de paramétrage initial du système et installent par défaut avec celui-ci un panel prédéfini d'applications ne laissant qu'un choix restreint (voire aucun choix) à l'utilisateur.
Organisation et gouvernance
L'organisation est orientée par des politiques votées par les développeurs, en s'appuyant le plus généralement sur les pratiques actuelles. Les politiques en vigueur sont les Gentoo Linux Enhancement Proposal (GLEP), littéralement traduisible en « proposition d'amélioration de Gentoo Linux », (developer handbook) contient aussi la politique en matière de maintenance des ebuilds.
Conseil
Les développeurs élisent annuellement parmi eux un conseil de sept personnes. Le conseil est chargé des questions transverses qui concernent Gentoo dans son ensemble sur les plans technique et humain. Les questions financières et légales sont gérées par la Fondation Gentoo.
Développeurs
Les développeurs sont des individus admis en tant que tels par la communauté des développeurs existante. Pour devenir développeur, un individu doit avoir un tuteur parmi les développeurs.
Fonctionnement
Le fonctionnement au quotidien se veut horizontal depuis le départ de Daniel Robbins et l'adoption de la GLEP 39[8].
Ce document établit la notion de « projet » comme étant un groupe de développeurs travaillant pour atteindre un ou plusieurs buts.
Portabilité
Conçue initialement pour fonctionner sur l'architecture x86, Gentoo Linux est aujourd'hui l'une des distributions les plus portées. Les architectures actuellement supportées sont les suivantes : x86, PowerPC, PowerPC 970, SPARC, SPARC64, AMD64, IA-64, MIPS, DEC Alpha, HP/PA, ARM et zSeries/s390. Gentoo Linux fut la première distribution à offrir un système Linux 64 bits (espace utilisateur et noyau) pour l'architecture PowerPC 970. Elle est également portable sur Xbox et PS3 comme nombre de distributions Linux.
Il existe aussi un profil embarqué qui utilise uClibc, une bibliothèque qui offre les mêmes fonctions que la glibc, mais plus compacte. Cela permet d'utiliser Gentoo Linux sur des systèmes embarqués, d'adapter Gentoo Linux à des automates programmables ou de réaliser une station de travail dédiée à des tâches qui nécessitent un système à haute performance.
Origine du nom « Gentoo-Linux »
Le Finlandais Linus Torvalds, créateur initial du noyau Linux, a choisi comme logo un dessin représentant un manchot. Un Gentoo (Manchot papou, Pygoscelis papua) est tout simplement un genre particulier de manchot, ce qui convient parfaitement à la distribution Linux décrite ici. En effet, les Manchots papou sont les nageurs les plus rapides parmi ces animaux (35 km/h).
Overlays
Un overlay (littéralement « surcouche ») regroupe un ensemble de programmes correspondant généralement à une tâche spécifique ainsi que les outils nécessaires à leur incorporation dans Portage. Il est ainsi possible d'installer facilement ces programmes et d'accroître les possibilités d'un système Gentoo.
Les overlays servent aussi à installer proprement un programme récent, mais encore absent de l'arbre principal que l'on pourra remplacer ensuite par son équivalent « officiel » sans soucis. Rien n'empêche de compiler et d'installer un logiciel, mais, dans ce cas, l'utilisateur risque d'avoir un programme ne respectant pas l'ordre ou la structure de la distribution et devra faire attention lors de l'arrivée du logiciel dans l'arbre principal, car il pourrait y avoir des fichiers de configurations mal placés par exemple.
Certains overlays utilisent le programme « layman » pour les regrouper et faciliter leur installation et leur gestion.
Distributions GNU/Linux basées sur Gentoo
- Bitdefender Rescue CD
- Calculate Linux
- Chromium OS/Chrome OS
- Funtoo
- Kororaa
- Pentoo
- Sabayon Linux
- SystemRescueCd (anciennement)
- Ututo
- VidaLinux
- Redcore
- Daphile
Gentoo/FreeBSD
Gentoo/FreeBSD[9] est une variante du système GNU (actuellement non maintenue) fonctionnant sous le noyau FreeBSD utilisant de nombreuses applications informatiques du projet comme Portage, son gestionnaire de paquets.
Notes et références
- « https://www.funtoo.org/Funtoo_Linux_History » (consulté le )
- Il existe quelques alternatives à l'utilisation de la commande emerge comme le gestionnaire graphique kuroo, mais leur usage reste extrêmement marginal.
- « Gentoo Linux Documentation – Making the distribution, Part 1 » [archive du ], sur Gentoo.org, (consulté le )
- « Slashdot | Gentoo 1.0 Released », sur Linux.slashdot.org, (consulté le )
- « Daniel Robbins Resigns As Chief Gentoo Architect », sur Slashdot.org (consulté le )
- Lors du processus d'installation commune de Gentoo Linux, l'utilisateur doit télécharger une archive tar (le stage3) contenant l'armature du système (sans noyau) et une version binaire préinstallée des logiciels du système de base (sur ce point, l'installation du système se rappproche notamment de celle d'Arch Linux, et diffère de la plupart des autres distributions, où le processus est réalisé de façon automatisée par le biais d'un installateur). Ceux-ci seront ensuite recompilés à partir des sources au gré de leurs mises à jour respectives. L'installation d'un système Gentoo Linux entièrement à partir des sources est possible (à partir d'une archive stage1), mais est réservée aux utilisateurs avancés.
- Ce profil peut être minimal (comme celui présélectionné par défaut sur le stage3), plus adapté à tel ou tel environnement de bureau, plutôt axé sur la sécurité, adapté au travail des développeurs, etc. Les profils permettent également à l'utilisateur de choisir entre Systemd ou openRC comme système d'initialisation. Il est dans la plupart des cas tout à fait possible de basculer d'un profil à un autre, à condition de faire suivre ce changement d'une mise à jour globale du système.
- (en) Gentoo Linux Enhancement Proposal 39
- (en) « Gentoo/FreeBSD », sur gentoo.org, (consulté le )
Annexes
Liens externes
Origine : Projet GNU, Linux… |
Basé sur : GNU/Linux |
Gentoo Linux | Variantes : LiveCD, Live DVD… |
Dérivés : Sabayon Linux, Kororaa, … |