Gentoo fut à l'origine crée par Daniel Robbins, sous le nom de Enoch Linux, le but était de créer une distribution construite à partir du code source, optimisée pour le matériel, qui ne contiendrait que les programmes utiles à son utilisateur et dont la maintenance serait simplifiée par l'utilisation de scripts. Cette première version et (unique version sous le nom de Enoch) fut disponible en Décembre 1999 en version 0.75.
Après
avoir résolut un certain nombre de problèmes liés à l'utilisation de
GCC (GNU Compiler Collection) pour la compilation depuis les sources,
Daniel Robbins et les autres contributeurs finirent par trouver une
version modifiée du compilateur permettant de réaliser des gains de
vitesse lors de la compilation compris entre 10 et 200%.
Enoch
devint alors une distribution réputée pour sa vitesse et fut renommée
en Gentoo (le Gentoo étant l'espèce de pingouin la plus rapide à la
nage.)
Les
modifications apportées à GCC furent ajoutées à la version officiel et
l'ensemble des distribution GNU/Linux bénéficièrent de cette
augmentation de vitesse pour la compilation des sources.
La première distribution Gentoo Linux fut distribuée au public en version 1.0 le 31 Mars 2002.
En 2004 la fondation à but non-lucratif Gentoo Fundation fut créée et
l'ensemble des droits d'auteurs et des marques déposées y furent
transférés. Daniel Robbins démissionnat alors de son poste de chef de
l'architecture du projet.
Actuellement la fondation est dirigée par un conseil d'administration
composé de 5 membres élus le 21 Octobre 2006. A ce conseil
d'administration viennent se rajouter 7 membres dont le rôle est de
définir les orientations globales et la politique menée par la
fondation. Ces 7 membres ont étés élus entre le 17 Aout et le 17
Septembre 2007 par 117 développeurs de la distribution.
La particularité principale de Gentoo est le fait que l'ensemble du système est compilé depuis les sources, de la même manière que Linux From Scratch mais à la différence près que la compilation est ici automatisée. Une autre différence avec Linux From Scratch est que Gentoo dispose de 3 niveaux d'installation (représentés par 3 archives stage1, stage2 et stage3). L'installation de Linux From Scratch nécessitant pour sa part de commencer par la construction de la chaîne de compilation puis l'installation des paquets nécessaires au système d'exploitation, bref d'installer votre distribution "à la main depuis le tout début".
Voici une brève description des différentes archives utilisables pour l'installation de Gentoo:
L'avantage de la compilation depuis
les sources est qu'elle permet d'optimiser au mieux votre système en
vous permettant de choisir les supports dont vous avez besoin pour
votre utilisation et ainsi de personnaliser entièrement votre système gestion des supports par un système de USE flags).
L'inconvénient est que, en fonction de la puissance de votre machine,
la compilation de tous les logiciels peut prendre énormément de temps
(plusieurs heures pour l'installation de Kde avec un processeur de type
amd64 3000+).
Un autre avantage lié à la compilation est qu'il vous est possible
d'optimiser au mieux votre système en fonction de son architecture
matériel et des instructions spécifiques à votre processeur. En effet
les distributions classiques sont compilées avec un jeu d'instruction
générique, garantissant le bon fonctionnement du système pour un grand
nombre d'architecture matérielle mais vous interdisant ainsi de
bénéficier des optimisations spécifiques à votre processeur.
Gentoo vous permettra ainsi d'utiliser pleinement la puissance de votre processeur ;)
Pour
faciliter l'installation des logiciels, un outil de gestion des paquets
a également été développé permettant de gérer les multiples
dépendances: il s'agit de Portage. Lorsque vous installez un logiciel,
ce dernier peut avoir besoin de librairies spécifiques pour fonctionner
correctement, Portage utilise des scripts (ebuild) qui décrivent la
manière dont chaque logiciel doit être installé ainsi que les
dépendances liées au logiciel. Lorsque vous souhaitez installer un
logiciel particulier Portage sera capable de déterminer quels autres
paquets sont nécessaires à l'installation du logiciel.
Cet outil vous garantit ainsi de conserver votre système stable et performant même en cas de mise à jour majeur.
Un
autre aspect important de la distribution est lié à l'initialisation de
votre système, les services dont vous avez besoins au démarrage de
votre système peuvent facilement être ajoutés (ou supprimés) à l'aide de scripts
d'initialisation qui sont lancés au boot de la machine.
Ces scripts
sont stockés dans un répertoire unique et contiennent les informations
sur les dépendances liées au démarrage du service. Par exemple, pour
démarrer un serveur apache, vous devez au préalable avoir démarrer au
moins une interface réseau, le scripte d'initialisation d'apache
contient cette information et ne lancera votre serveur qu'après avoir
démarrer vos interfaces réseau.