Gentoo Linux

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Gentoo)
Aller à : navigation, rechercher
Gentoo Linux
Logo
LiveCD Gentoo Linux 12.0
LiveCD Gentoo Linux 12.0

Famille GNU/Linux
Type de noyau Monolithique modulaire
État du projet en développement
Plates-formes i386, x86-64, PowerPC, PowerPC 64, sparc, DEC Alpha, ARM, MIPS, PA-RISC, S390, IA-64, sh, m68k
Entreprise /
Développeur
Fondation Gentoo
Licence GNU GPL
Dernière version stable 12.1 () [+/−]
Interface utilisateur par défaut Console, Framebuffer, X Window System (plusieurs)
Gestionnaire de paquets Portage
Site web www.gentoo.org

Gentoo Linux (/ˈdʒɛntu/) 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. Ainsi, la majeure partie des programmes devront être compilés à partir du code source. Toutefois, certains logiciels disponibles sous forme de paquets précompilés pour différentes architectures peuvent également être utilisés. Ceci est géré grâce au logiciel Portage de Gentoo Linux.

Caractéristiques[modifier | modifier le code]

Sa particularité est la compilation complète (ou en partie) d'un système GNU/Linux à partir des sources, à la manière de Linux From Scratch mais automatisée.

Ses outils de gestion de paquets s'inspirent des ports des BSD. Ce processus permet une optimisation et une personnalisation complète du système mais prend un certain temps 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[1] (ou variables USE[2]), 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.

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 choisir ses applications au fur et à mesure de l'installation, rendant le système, à la fin de la période d'installation, beaucoup plus léger qu'avec d'autres distributions qui installent souvent par défaut des applications dont l'utilisateur n'a pas nécessairement besoin.

Organisation et gouvernance[modifier | modifier le code]

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 », dont la liste est consultable sur le site[3]. Le manuel du développeur[4],[5] (developer handbook) contient aussi la politique en matière de maintenance des ebuilds.

Conseil[modifier | modifier le code]

Les développeurs élisent annuellement parmi eux un conseil de 7 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. La dernière élection a eu lieu en juin 2012[6], désignant les membres suivants[7] :

  • Petteri Räty, « betelgeuse »
  • Tony Vroon, « chainsaw »
  • Donnie Berkholz, « dberkholz »
  • Fabian Groffen, « grobian »
  • Tomáš Chvátal, « scarabeus »
  • Ulrich Müller, « ulm »
  • William Hubbs, « williamh »

Développeurs[modifier | modifier le code]

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. Le candidat doit répondre à un questionnaire, faire valider ses réponses par son tuteur et améliorer ses réponses en fonction des conseils qui lui sont donnés. Une fois que le tuteur est satisfait des réponses, il ouvre un bug pour indiquer au projet « recrutement » qu'un nouveau candidat est prêt. Le candidat doit alors répondre à un second questionnaire et suivre la même procédure d'aller-retours avec son tuteur. Parallèlement au second questionnaire, le candidat doit s'entretenir avec un membre de l'équipe des recruteurs pour vérifier ses connaissances des politiques de Gentoo Linux. Lorsque le recruteur est satisfait de l'état des connaissances du candidat, ce dernier est admis dans le projet, et ses accès sont créés.

Fonctionnement[modifier | modifier le code]

Le fonctionnement au quotidien se veut horizontal depuis le départ de Daniel Robbins et de 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. Le document précise que :

  • l'existence d'un projet est caractérisée par l'existence d'une page web maintenue sous l'url www.gentoo.org/proj/en/<nom du projet> ;
  • un projet doit avoir un ou plusieurs responsable sélectionné au moins annuellement (la tenue d'une élection n'est pas requise) ;
  • un projet peut contenir des sous-projets ;
  • tout (ou tout le monde) n'a pas besoin d'un projet ;
  • les projets n'ont pas besoin d'avoir une existence à long terme ;
  • différents projets peuvent très bien se contredire, et ce n'est pas un problème ;
  • n'importe quel développeur peut créer un projet en créant la page web du premier point et en envoyant une « request for comments » (demande de commentaires) sur la liste gentoo-dev. À noter que ce document ne fournit aucun moyen pour la communauté de bloquer un nouveau projet, même si les commentaires sont globalement négatifs.

La GLEP 39 établit également le Conseil Gentoo (Gentoo council) pour traiter les questions générales :

  • il y a un nombre déterminé de membres du conseil. (Pour la première élection, ce nombre a été fixé à sept par acclamation.) ;
  • les membres du conseil sont choisis par une élection générale parmi l'ensemble des développeurs chaque année ;
  • le conseil doit se réunir de façon ouverte au moins une fois par mois ;
  • les décisions sont prises à la majorité des votes des membres présents ou représentés ;
  • si un membre du conseil (ou son suppléant le cas échéant) est absent à deux réunions consécutives, il est considéré comme slacker (littéralement « fainéant ») ;
  • si un membre du conseil considéré comme slacker manque une réunion d'ici la fin de son mandat (ou son suppléant ne vient pas), il perd son statut de membre du conseil et une élection est organisée pour le remplacer. Le membre nouvellement élu a un mandat réduit, qui se termine à la prochaine élection générale ;
  • les membres du conseil qui ont été précédemment exclus pour absences répétées peuvent se présenter aux prochaines élections, même s'il s'agit de l'élection concernant leur propre remplacement. Ils devront néanmoins justifier leurs absences, et s'attendre à ce qu'on leur demande des explications s'ils ne le font pas d'eux-mêmes ;
  • la considération slacker est effacée lorsqu'un développeur est élu au conseil ;
  • si une réunion du conseil a moins de 50 % de ses membres présents, une nouvelle élection générale est organisée dans le mois qui suit. Les dates du mandat sont alignées sur la date de cette nouvelle élection ;
  • il est possible de faire appel des décisions disciplinaires devant le conseil ;
  • un suppléant ne doit pas être un autre membre du conseil, et une seule personne ne peut pas suppléer deux membres à la même réunion.

Portabilité[modifier | modifier le code]

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.

Article détaillé : ebuild.

Origine du nom « Gentoo-Linux »[modifier | modifier le code]

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 Gentoos sont les nageurs les plus rapides parmi ces animaux (35 km/h).

Overlays[modifier | modifier le code]

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.

Présentation de quelques overlays[modifier | modifier le code]

  • L'overlay science propose de nombreux programmes scientifiques et mathématiques. C'est un overlay très dynamique qui propose régulièrement des mises à jour et de nouveaux programmes avant qu'ils soient incorporés officiellement dans Portage.
  • L'overlay audio professionnel propose de nombreux programmes audio et le même noyau temps réel (ou multimédia) que des distributions comme DeMuDi. Autant le module realtime-lsm que PAM-Rlimits sont proposés, ce qui laisse une liberté totale à l'utilisateur dans la gestion des priorités des tâches multimédia dans le système. Les mises à jour sont nombreuses et les programmes offerts sont le plus souvent de la dernière version et toutes leurs fonctionnalités sont disponibles. De plus, beaucoup de versions CVS et SVN sont également proposées. Beaucoup de programmes de cet overlay sont compatibles avec lash, le successeur de ladcca, ce qui permet de sauvegarder l'état des sessions de travail audio et de les restaurer automatiquement.
  • Break My Gentoo, littéralement Casse ma Gentoo, est un overlay hautement expérimental pour les programmes instables, le plus souvent car ils sont encore en phase de développement, et qui n'ont aucune chance d'arriver dans l'arbre Portage avant la sortie d'une version stable. Son usage est conseillé uniquement aux utilisateurs souhaitant expérimenter les dernières fonctionnalités disponibles et qui n'ont pas peur de rendre leur système inutilisable suite à un plantage.
  • Gentoo Overlays est un espace de travail social dont le but est de permettre aux différents projets, développeurs et utilisateurs de Gentoo de collaborer pour préparer la distribution Gentoo de demain.

Documentation[modifier | modifier le code]

Les développeurs de Gentoo Linux sont conscients que l'installation d'un système où beaucoup de choses sont configurables, y compris les options de compilation, peut poser de sérieux problèmes à l'utilisateur non averti, aussi un soin particulier est apporté à la documentation.

Le manuel d'installation guide pas à pas l'utilisateur pendant la configuration et l'installation du système. Les conseils de ce manuel sont à suivre impérativement pour obtenir un système stable et performant.

Ce manuel d'installation est complété par de nombreux autres ainsi que par un forum, des listes de discussion et des canaux IRC où il est possible d'obtenir rapidement de l'aide.

Distributions GNU/Linux basées sur Gentoo[modifier | modifier le code]

Gentoo/FreeBSD[modifier | modifier le code]

Gentoo/FreeBSD[9] est une variante du système GNU fonctionnant sous le noyau FreeBSD. Cette distribution est maintenue dans le cadre du projet Gentoo et utilise de nombreuses applications informatiques du projet comme portage, son gestionnaire de paquets.

Articles connexes[modifier | modifier le code]

Notes et références[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Origine :
Projet GNU, Linux
Basé sur :
GNU/Linux
Gentoo Linux Variantes :
LiveCD, Live DVD…
Dérivés :
Sabayon Linux, Kororaa, …