Portage/fr
emerge — configuration — ebuild repository — dispatch-conf
world file — USE flags — ebuilds — profiles
upgrades — using testing packages — binary packages
tools — gentoolkit — eselect
Portage FAQ — cheat sheet — FAQ
all articles
Portage est le gestionnaire de paquet et le système de distribution officiel de Gentoo. Il constitue le cœur des systèmes d'exploitation basés sur Gentoo, fournissant une résolution avancée des dépendances, une construction et une installation flexibles des logiciels à partir des sources ou des paquets binaires, et la plupart des autres fonctionnalités de distribution de base.
Portage fournira des logiciels à partir du dépôt ebuild de Gentoo, de tout autre dépôt ebuild, ou de binhost. Portage comprend de nombreuses commandes pour la gestion des dépôts et des paquets, la principale étant la commande emerge.
Quelques questions courantes sur Portage et la commande emerge sont abordées dans la FAQ et la FAQ de Portage.
Pour un usage au quotidien, les commandes emerge, emaint et dispatch-conf seront les plus utilisées de Portage. Se référer à la documentation adéquate.
Consulter man portage pour une documentation complète pour les utilisateurs. Consulter l'article d'emerge pour des informations à propos de l'installation et de la maintenance des paquets avec Portage.
Cet article décrit l'usage de Portage du point de vue de l'utilisateur. Ceux qui souhaitent contribuer au développement de Portage doivent visiter la page du projet Portage.
Installation
Toute installation de Gentoo fournit Portage, donc il n'y a pas besoin de l'installer !
Dans la rare éventualité où Portage serait corrompu ou manquant, voir la section Portage corrompu ou absent.
Mettre à jour Portage
Pour que Gentoo reste à jour, Portage doit l'être aussi. En général la mise à jour de Gentoo régulière et classique mettra à jour Portage sans souci.
À l'occasion, il est recommandé de faire la mise à jour de Portage en amont du reste du système. Après la synchronisation de Portage, un message le requérant sera affiché :
Dans le terminal en anglais:
* An update to portage is available. It is _highly_ recommended * that you update portage now, before any other packages are updated. * To update portage, run 'emerge --oneshot sys-apps/portage' now.
En français :
* Une mise à jour de Portage est disponible. Il est _hautement_ recommandé * de mettre à jour portage tout de suite, avant que d'autres * paquets ne soient mis à jour. * Pour mettre à jour portage, lancer 'emerge --oneshot sys-apps/portage' tout de suite.
Emerger (installer, mettre à jour, etc) Portage comme indiqué (adapter la commande si le message diffère de cet exemple). L'option --oneshot
est importante, pour éviter d'ajouter sys-apps/portage au fichier world :
root #
emerge --ask --oneshot sys-apps/portage
S'il y a un problème pendant la mise à jour de Portage, la page User:Sam/Portage_help/Upgrading_Portage peut aider.
Configuration
Fichiers
La configuration principale de Portage se situe dans make.conf, cependant il y a beaucoup d'autres fichiers utilisés pour configurer Portage, principalement dans le répertoire /etc/portage.
Consulter man make.conf pour une documentation complète, notamment sur la liste des variables qui peuvent y être utilisées.
Le fichier /usr/share/portage/config/make.globals contient beaucoup des valeurs par défaut et utilisées par Portage. Ces valeurs peuvent être remplacées en spécifiant le même nom de variable dans /etc/portage/make.conf (ndt: ne pas modifier make.globals).
Variables d'environnement
Portage peut être configuré en profondeur via les variables d'environnement.
Consulter man make.conf pour connaître les variables disponibles. Se référer aussi à la section du Handbook pour travailler avec les variables d'environnement dans Gentoo.
Pour afficher toutes les variables d'environnement actuellement définies, exécuter :
user $
emerge --info --verbose
Les variables d'environnement peuvent être mises en place par paquet via des entrées dans /etc/portage/package.env
Dépôts Ebuild
En plus du dépôt ebuild de Gentoo, depuis lequel Portage récupérera par défaut les paquets, des dépôts Ebuild additionnels sont disponibles, par exemple :
- repos.gentoo.org - liste des dépôts auxquels la communauté a contribué, dont certains par des développeurs de Gentoo
- GURU - dépôt ebuild officiel maintenu collaborativement par les utilisateurs de Gentoo, avec un peu de support de quelques développeurs de Gentoo
- gpo.zugaina.org - liste de dépôts ebuild tiers
L'article sur les dépôts ebuild a une section sur la configuration des dépôts ebuild utilisés par Portage.
Rechercher les ebuilds disponibles avec la ligne de commande emerge --search ou eix.
Tandis que le dépôt ebuild de Gentoo est soit écrit ou relu par des développeurs Gentoo, le dépôt GURU a une certaine supervision par les développeurs de Gentoo, ce qui n'est pas toujours le cas pour les autres. Il est possible que quelques dépôts ebuild contiennent des logiciels vulnérables, gravement amochés ou, théoriquement, même des logiciels malicieux.
Hôtes de paquets binaires
Les hôtes de binaires sont configurés dans le fichier /etc/portage/binrepos.conf et permettent l'installation rapide de paquets binaires, à condition qu'un paquet soit disponible pour les drapeaux USE requis pour le paquet à installer ou à mettre à jour.
Il existe un hôte de binaires officiel Gentoo qui contient de nombreux paquets binaires pour les architectures amd64 et arm64 - voir le guide à ce lien pour plus d'instructions d'installation et d'utilisation.
Pour configurer d'autres hôtes de binaires, et pour plus d'informations sur l'utilisation de paquets binaires avec Portage, voir le guide sur les paquets binaires.
Utilisation
Portage inclut divers outils variés et des utilitaires pour aider à l'administration du système et à sa maintenance. La section suivante liste ceux-ci dans l'ordre alphabétique.
Les principales commandes que les utilisateurs vont manier au quotidien sont emerge, emaint et dispatch-conf.
archive-conf
Le but d'archive-conf est de sauvegarder un fichier de configuration dans le répertoire d'archivage de dispatch-conf. La plupart des utilisateurs ne devraient jamais avoir besoin de lancer cette commande :
root #
archive-conf
Usage: archive-conf /CONFIG/FILE [/CONFIG/FILE...]
dispatch-conf
L'utilitaire dispatch-conf est utilisé pour gérer la mise à jour des fichiers de configuration. Consulter l'article dispatch-conf.
ebuild
ebuild est la commande de Portage pour les diverses fonctions d'ebuild.
Cette commande n'est généralement pas lancée par l'utilisateur et est seulement utile pour les développeurs. Ne pas essayer de s'en servir pour installer des paquets, voir plutôt la commande emerge.
Pour éviter toute ambiguïté entre cette commande et les fichiers ebuild, consulter l'article ebuild.
egencache
L'outil egencache reconstruit le cache des informations metadata pour les dépôts ebuilds. Consulter l'article sur egencache pour de plus amples informations.
emaint
Effectue des vérifications de l'état du système et de la maintenance liées à la gestion des paquets.
Consulter l'article sur la manière de synchroniser des dépôts avec emaint. Voir man 1 emaint pour des informations détaillées.
user $
emaint --help
usage: usage: emaint [options] COMMAND The emaint program provides an interface to system health checks and maintenance. See the emaint(1) man page for additional information about the following commands: Commands: all Perform all supported commands binhost Scan and generate metadata indexes for binary packages. cleanconfmem Check and clean the config tracker list for uninstalled packages. cleanresume Discard emerge --resume merge lists logs Check and clean old logs in the PORTAGE_LOGDIR. merges Scan for failed merges and fix them. movebin Perform package move updates for binary packages moveinst Perform package move updates for installed and binary packages. sync Check repos.conf settings and sync repositories. world Check and fix problems in the world file. optional arguments: -h, --help show this help message and exit -c, --check Check for problems (a default option for most modules) -f, --fix Attempt to fix problems (a default option for most modules) --version show program's version number and exit -C, --clean Cleans out logs more than 7 days old (cleanlogs only) module-options: -t, -p -t NUM, --time NUM (cleanlogs only): -t, --time Delete logs older than NUM of days -p, --pretend (cleanlogs only): -p, --pretend Output logs that would be deleted -P, --purge Removes the list of previously failed merges. WARNING: Only use this option if you plan on manually fixing them or do not want them re-installed. -y, --yes (merges submodule only): Do not prompt for emerge invocations -r REPO, --repo REPO (sync module only): -r, --repo Sync the specified repo -A, --allrepos (sync module only): -A, --allrepos Sync all repos that have a sync-url defined -a, --auto (sync module only): -a, --auto Sync auto-sync enabled repos only --sync-submodule {glsa,news,profiles} (sync module only): Restrict sync to the specified submodule(s)
emerge
emerge est l'interface en ligne de commande de Portage et c'est la manière dont la plupart des utilisateurs interagiront avec Portage.
Consulter l'article emerge pour avoir plus d'informations à partir du wiki.
emerge-webrsync
Pour installer un dépôt ebuild de Gentoo depuis un instantané (snapshot) se trouvant sur le web, consulter cette section du manuel.
root #
emerge-webrsync -h
Usage: /usr/bin/emerge-webrsync [options] Options: --revert=yyyymmdd Revert to snapshot -k, --keep Keep snapshots in DISTDIR (don't delete) -q, --quiet Only output errors -v, --verbose Enable verbose output -x, --debug Enable debug output -h, --help This help screen (duh!)
emerge-webrsync est en interne invoqué par eix-sync quand sync-type
est paramétré dans /etc/portage/repos.conf avec webrsync
.
emirrordist
Outil pour le mirroring des fichiers distfiles des paquets.
root #
emirrordist -h
usage: emirrordist [options] <action> emirrordist - a fetch tool for mirroring of package distfiles optional arguments: -h, --help show this help message and exit Actions: --version display portage version and exit --mirror mirror distfiles for the selected repository Common options: --dry-run perform a trial run with no changes made (usually combined with --verbose) --verbose, -v display extra information on stderr (multiple occurences increase verbosity) --ignore-default-opts do not use the EMIRRORDIST_DEFAULT_OPTS environment variable --distfiles DIR distfiles directory to use (required) --jobs JOBS, -j JOBS number of concurrent jobs to run --load-average LOAD, -l LOAD load average limit for spawning of new concurrent jobs --tries TRIES maximum number of tries per file, 0 means unlimited (default is 10) --repo REPO name of repo to operate on --config-root DIR location of portage config files --repositories-configuration REPOSITORIES_CONFIGURATION override configuration of repositories (in format of repos.conf) --strict-manifests <y|n> manually override "strict" FEATURES setting --failure-log FILE log file for fetch failures, with tab-delimited output, for reporting purposes --success-log FILE log file for fetch successes, with tab-delimited output, for reporting purposes --scheduled-deletion-log FILE log file for scheduled deletions, with tab-delimited output, for reporting purposes --delete enable deletion of unused distfiles --deletion-db FILE database file used to track lifetime of files scheduled for delayed deletion --deletion-delay SECONDS delay time for deletion, measured in seconds --temp-dir DIR temporary directory for downloads --mirror-overrides FILE file holding a list of mirror overrides --mirror-skip MIRROR_SKIP comma delimited list of mirror targets to skip when fetching --restrict-mirror-exemptions RESTRICT_MIRROR_EXEMPTIONS comma delimited list of mirror targets for which to ignore RESTRICT="mirror" --verify-existing-digest use digest as a verification of whether existing distfiles are valid --distfiles-local DIR distfiles-local directory to use --distfiles-db FILE database file used to track which ebuilds a distfile belongs to --recycle-dir DIR directory for extended retention of files that are removed from distdir with the --delete option --recycle-db FILE database file used to track lifetime of files in recycle dir --recycle-deletion-delay SECONDS delay time for deletion of unused files from recycle dir, measured in seconds (defaults to the equivalent of 60 days) --fetch-log-dir DIR directory for individual fetch logs --whitelist-from FILE specifies a file containing a list of files to whitelist, one per line, # prefixed lines ignored
Voir aussi man emirrordist.
env-update
Mettre à jour automatiquement les paramètres de l'environnement.
root #
env-update -h
Usage: env-update [--no-ldconfig] See the env-update(1) man page for more info
Voir aussi man env-update. Consulter l'article login pour de plus amples informations sur la manière dont l'environnement est mis en place dans Gentoo.
fixpackages
Réalise un renommage des paquets et leur déplacement pour la mise à jour de ceux-ci.
root #
fixpackages -h
usage: fixpackages [-h] The fixpackages program performs package move updates on configuration files, installed packages, and binary packages. optional arguments: -h, --help show this help message and exit
Voir aussi man fixpackages.
regenworld
Régénère le fichier world en vérifiant le fichier journal de Portage pour toutes les actions qui ont été menées dans le passé.
Faire une sauvegarde du fichier (/var/lib/portage/world) avant d'utiliser cet outil.
root #
regenworld -h
This script regenerates the portage world file by checking the portage logfile for all actions that you've done in the past. It ignores any arguments except --help. It is recommended that you make a backup of your existing world file (/var/lib/portage/world) before using this tool.
portageq
Pour plus de détails voir portageq.
quickpkg
Crée des paquets Portage - consulter le guide de paquetage des binaires pour plus d'informations.
user $
quickpkg --help
usage: quickpkg [options] <list of package atoms or package sets> optional arguments: -h, --help show this help message and exit --umask UMASK umask used during package creation (default is 0077) --ignore-default-opts do not use the QUICKPKG_DEFAULT_OPTS environment variable --include-config <y|n> include all files protected by CONFIG_PROTECT (as a security precaution, default is 'n') --include-unmodified-config <y|n> include files protected by CONFIG_PROTECT that have not been modified since installation (as a security precaution, default is 'n')
Voir aussi man quickpkg.
repoman
repoman est un outil de développement pour tester les ebuilds. Depuis la version 2.3.0, il est empaqueté séparément de Portage, dans app-portage/repoman. Consulter l'article repoman pour de plus amples informations.
Il est désormais périmé à la faveur des outils fournis dans les paquets dev-util/pkgcheck et dev-util/pkgdev.
glsa-check
Gentoo Linux Security Announcements (Annonces de Sécurité pour Gentoo Linux), ou GLSAs, sont des notifications envoyées par la communauté pour informer de vulnérabilités de sécurité en rapport avec Gentoo Linux ou avec les paquets contenus dans le dépôt d'ebuilds ::gentoo
glsa-check est un outil pour tracer les diverses GLSAs. Il peut être utilisé pour consulter les GLSAs, mais plus important encore pour tester si le système est vulnérable face à une GLSA connue.
Consulter man glsa-check et glsa-check --help pour de plus amples informations :
user $
glsa-check --help
usage: glsa-check <option> [glsa-id | all | new | affected] optional arguments: -h, --help show this help message and exit -V, --version Show information about glsa-check -q, --quiet Be less verbose and do not send empty mail -v, --verbose Print more messages -n, --nocolor Removes color from output -e, --emergelike Upgrade to latest version (not least-change) -c, --cve Show CVE IDs in listing mode -r, --reverse List GLSAs in reverse order Modes: -l, --list List a summary for the given GLSA(s) or set and whether they affect the system -d, --dump Show all information about the GLSA(s) or set --print Alias for --dump -t, --test Test if this system is affected by the GLSA(s) or set and output the GLSA ID(s) -p, --pretend Show the necessary steps to remediate the system -f, --fix (experimental) Attempt to remediate the system based on the instructions given in the GLSA(s) or set. This will only upgrade (when an upgrade path exists) or remove packages -i, --inject Inject the given GLSA(s) into the glsa_injected file -m, --mail Send a mail with the given GLSAs to the administrator glsa-list can contain an arbitrary number of GLSA ids, filenames containing GLSAs or the special identifiers 'all' and 'affected'
Astuces
Temps de synchronisation des dépôts ebuild principaux (de Gentoo)
Pour voir quand le dépôt ebuild de Gentoo a été mis à jour (synchronisé) pour la dernière fois, lancer la commande :
user $
cat /var/db/repos/gentoo/metadata/timestamp.chk
Lister une suite de paquets
Besoin de déterminer quels sont les paquets dans chaque suite ? Consulter Package sets.
Dépannage
Portage corrompu ou absent
Bien que cela soit très rare, et tout comme pour chaque donnée, il y a une possibilité que Portage se corrompe ou même se désinstalle, ce qui serait très mauvais pour le fonctionnement de l'ensemble du système. Si cela devait arriver, il y a des manières suivant lesquelles Portage peut être rétabli ; cependant, parce que Portage est au centre de tout, la ré-installation est à envisager car cela consiste, puisque c'est une intervention manuelle, à installer un gestionnaire de paquet sans avoir un gestionnaire de paquet fonctionnel.
Consulter Réparer ma Gentoo pour de plus amples détails sur la ré-installation en urgence via des paquets binaires. Voir aussi Réparer Portage qui est cassé.
Modification du chemin par défaut du dépôt ebuild de Gentoo
Avec Portage v2.3.66[1], qui est sortie le 29 Avril 2019, [2], le chemin par défaut pour les répertoires suivants a changé : portdir, distdir, repo_name, repo_basedir.
Pour de plus amples informations consulter le rapport de bug bug #662982.
Ancien emplacement
repo_name="portage"
distdir="/usr/portage/distfiles"
portdir="/usr/portage"
target_distdir="/usr/portage/distfiles"
target_pkgdir="/usr/portage/packages"
Nouvel emplacement
repo_basedir="/var/db/repos"
repo_name="gentoo"
distdir="/var/cache/distfiles"
portdir="/var/db/repos/gentoo"
target_distdir="/var/cache/distfiles"
target_pkgdir="/var/cache/binpkgs"
Voir aussi
- /etc/portage — the primary configuration directory for Portage, Gentoo's package manager.
- /etc/portage/make.conf — le fichier de configuration principal pour régler l'environnement de Portage au niveau global.
- /etc/portage/color.map — a file containing variables that define color classes used by Portage.
- prefix — enables the power of Gentoo and Portage on other distributions and/or operating systems (Microsoft Windows via Cygwin, Android via Termux, etc.).
En rapport avec Portage
- Upgrading Gentoo — explique comment mettre à niveau (mettre à jour) Gentoo, ainsi que la façon de procéder pour un système bien maintenu.
- Catalyst — a tool to build stage files and live-images for Gentoo
- Creating an ebuild repository — basics of creating an ebuild repository and maintaining ebuilds in it.
- GCC optimization — une introduction à l'optimisation de code compilé en recourant à des variables CFLAGS et CXXFLAGS saines.
- Portage tips — the main command-line interface to Portage
- Repository format — A quick reference to Gentoo ebuild repository (overlay) format.
- Package Manager Specification — a standardization effort to ensure that the ebuild file format, the ebuild repository format (of which the Gentoo ebuild repository is the main incarnation), as well as behavior of the package managers interacting with these ebuilds is properly agreed upon and documented.
- Ebuild repository — une structure de fichiers pouvant fournir des paquets pour l'installation sur un système Gentoo.
- Category:Portage
- Gentoolkit — une suite d'outils, dont Portage, destinée à faciliter l'administration d'un système Gentoo.
- Portage Multi Stage Dockerfile — The emerge --quickpkg-direct and related emerge --quickpkg-direct-root options are useful inside Dockerfiles
- Portage Security — aims to answer the question "How can I dispel doubts regarding the security of the Gentoo ebuild repository on a system?"
- Portage TMPDIR on tmpfs — It is unlikely that tmpfs will provide any performance gain for modern systems
Portage dans l'Handbook / le manuel de Gentoo AMD64
- Une introduction à Portage
- Drapeaux USE
- Fonctionnalités de Portage
- Fichiers et répertoires
- Configuration à travers les variables
- Mélanger des branches (versions) de logiciels
- Outils additionnels de Portage
- Arborescence personnalisée de Portage
- Fonctionnalités avancées de Portage
Outils de Portage
- Useful Portage tools — provides a list of Gentoo-specific system management tools, notably for Portage, available in the ebuild repository.
- Cfg-update — a utility used on Gentoo to manage configuration file updates.
Gestionnaires de paquets alternatifs et interfaces graphiques (GUIs)
- Pkgcore — an alternative package manager for Gentoo that aims for high performance, extensibility, and a clean design.
- app-portage/kuroo - Frontend (interface) graphique de portage basée sur KF5/Qt5.
- App Swipe - Interface (GUI) en Qt pour parcourir les répertoires locaux de Portage.
Relatif à ebuild ou au paquet
- Package sets — describes package sets in high detail and includes a list of all typically available sets on a Gentoo system.
Ressources externes
- Documentation officielle de Portage - Réalisé par le développeur de Portage Zac Medico (zmedico) .
- packages.gentoo.org - Base de données en ligne pour rechercher les paquets Gentoo dans leur dépôts.
Pages man de Portage
Les pages du manuel contiennent la documentation technique complète pour Portage. Tapez man <sujet> dans un terminal sur un système Gentoo pour lire localement la page désirée du manuel. Notez que les pages du manuel ont une section voir aussi pour de plus amples informations.
- emerge - Interface en ligne de commande pour le système de Portage - Page du manuel d'emerge.
- Fichiers de configuration de Portage - Page du manuel de Portage.