Portage (Gentoo)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Portage.

Portage est un ensemble d'outils et le gestionnaire de paquets des distributions GNU/Linux Gentoo et Funtoo. Il est écrit en Python et possède une interface graphique (Porthole en GTK+). Il se distingue des autres systèmes de gestion de paquets binaires précompilés et fournis par la distribution, car il utilise des scripts d'installation plus un ensemble d'EAPI caractérisant les ebuilds, permettant de configurer, compiler et d'installer automatiquement un logiciel à partir des sources publiées par l'auteur de chaque logiciel.

Gestion des dépendances[modifier | modifier le code]

Ce système permet une gestion plus fine des dépendances entre paquets (il est possible de sélectionner les dépendances fixées à la compilation, par opposition aux systèmes basés sur des paquets précompilés, où il est uniquement possible de sélectionner les dépendances fixées à l'exécution). Les logiciels installés sont aussi potentiellement plus performants, puisque le compilateur peut tenir compte des caractéristiques propres de la machine cible.

Organisation[modifier | modifier le code]

Portage consiste en une arborescence d'ebuilds (l'arbre Portage) contenant des métadonnées pour l'installation automatique des différents paquets, et d'une collection d'outils administratifs (emerge, ebuild, le gentoolkit, les applets q* du paquet portage-utils) pour la résolution automatique des dépendances et l'installation des différents logiciels suivant les instructions présentes dans chaque ebuild.

Origines[modifier | modifier le code]

Le nom Portage (de même que sa conception générale) dérive du traditionnel système de Ports en usage sur les systèmes *BSD. Les deux sont conçus pour installer des logiciels à partir de leurs sources et de les désinstaller de manière fiable. Alors que le système de ports repose sur un assemblage complexe de Makefiles, Portage est écrit en Python, pour une maintenance plus facile et des fonctionnalités plus étendues.

Utilisation avancée[modifier | modifier le code]

De manière générale, l'installation d'un système Gentoo peut se résumer à mettre en place un système de base et un compilateur, que Portage mettra ensuite a profit pour télécharger, compiler et installer les paquets désirés. Cependant, afin de gagner du temps, Portage peut aussi empaqueter le produit de la compilation, pour une réinstallation ultérieure sur la même machine ou sur une machine similaire. Dans des environnements avec un large nombre de machines, une stratégie standard consiste à construire tous les paquets nécessaires sur une machine principale (éventuellement en distribuant le travail de compilation entre plusieurs machines par le biais de distcc), puis à redistribuer les paquets compilés vers les autres machines.

Avantages[modifier | modifier le code]

Parmi les avantages de Portage, on peut citer la gestion flexible des dépendances fixées à la compilation, la protection et la mise à jour intelligente (via diff3) des fichiers de configuration, l'installation concurrente de versions différentes d'un même logiciel, et la restriction de privilèges lors de la compilation (via un bac à sable).

Alternatives[modifier | modifier le code]

Il existe des alternatives à l'utilisation des outils offerts par Portage, mais se basant toujours sur l'arbre Portage :

  • Paludis, écrit en C++, qui propose des équivalents aux différents outils de Portage (emerge, revdep-rebuild, glsa-check, layman). Il propose également une gestion native des overlays (surcouches de l'arbre Portage). Il peut enfin utiliser les fichiers de configuration existants de Portage ou ses propres fichiers.
  • pkgcore, qui utilise un démon pour plus de performances.

Article connexe[modifier | modifier le code]

Liens externes[modifier | modifier le code]