Portage (Gentoo)

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.

Pour les articles homonymes, voir Portage.

Portage

Informations
Dernière version 3.0.14 ()[1]
Dépôt gitweb.gentoo.org/proj/portage.git
Écrit en Python
Système d'exploitation Gentoo Linux
Type Gestionnaire de paquets
Licence Licence publique générale GNU
Site web wiki.gentoo.org/wiki/Project:Portage

Gestion des dépendances

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

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

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

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 à 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

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

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 »(ArchiveWikiwixArchive.isGoogle • Que faire ?), qui utilise un démon pour plus de performances.

Article connexe

Liens externes

  • Portail des logiciels libres
  • Portail de l’informatique
  1. « https://gitweb.gentoo.org/proj/portage.git/tag/?h=portage-3.0.14 », (consulté le )
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.