Portage/fr

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Portage and the translation is 100% complete.

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.

Conseil
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.
See also
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
Conseil
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.

Attention !
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.

Conseil
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.

Remarque
La commande emerge --sync est désormais implémentée avec emaint.
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é.

Attention !
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

The information in this section has been deprecated. It may or may not be relevant for contemporary usage. Handle with care!

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

CODE Emplacement avant le 14 Avril 2019
repo_name="portage"
distdir="/usr/portage/distfiles"
portdir="/usr/portage"
target_distdir="/usr/portage/distfiles"
target_pkgdir="/usr/portage/packages"

Nouvel emplacement

CODE Emplacement à partir du 14 Avril 2019
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

Outils de Portage

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

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.