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. C'est le cœur des systèmes d'exploitation basées sur Gentoo, procurant une résolution avancée des dépendances, une installation et une construction flexibles des paquets depuis leur source, incluant une facilité pour produire, maintenir et distribuer des fichiers binaires - entre autres.

Portage fournit des logiciels depuis le dépôt ebuild de Gentoo et depuis n'importe quel dépôt additionnel, si nécessaire. Portage inclus beaucoup de commandes pour la gestion des dépôts et des paquets, dont l'outil primaire est la commande emerge.

Les questions les plus communes à propos des commandes portage et emerge sont répondues 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. Référez-vous à la documentation adéquate.
See also
Consultez man portage pour une documentation complète pour les utilisateurs. Consultez l'article d'emerge pour des informations à propos de l'installation et 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, voyez 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 soucis.

À 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ée
* de mettre à jour portage tout de suite, avant qu'aucun autre paquets 
ne soit mis à jour.

* Pour mettre à jour portage, lancez 'emerge --oneshot sys-apps/portage' tout de suite.

Emerger (installer, mettre à jour, etc) Portage comme indiqué (adaptez la commande si le message diffère de cet exemple). L'option --oneshot est importante, pour éviter d'ajouter sys-apps/portage au world file :

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.

Consultez man make.conf pour une documentation complète, notamment la liste des variables qui peuvent y être utilisées.

Le fichier /usr/share/portage/config/make.globals contient beaucoup de valeurs par défauts faites par Portage. Ces valeurs peuvent être remplacées en spécifiant le même nom de variable dans /etc/portage/make.conf.

Variables d'environnement

Portage peut être configuré en profondeur via les variables d'environnement.

Consultez man make.conf pour connaître les variables disponibles. Référez-vous 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écutez:

user $emerge --info --verbose
Conseil
Les variables d'environnement peuvent être mise en place par paquet via des entrées dans /etc/portage/package.env

Dépôt Ebuild

En plus du dépôt ebuild de Gentoo, depuis lequel Portage récupérera par défaut les paquets, les dépôts Ebuild sont disponibles, par exemple :

  • repos.gentoo.org - liste des dépôts dont la communauté à contribuer, 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 - une liste des contenues tierces des dépôts ebuild

L'article sur les dépôts ebuild a une section sur la configuration des dépôts ebuild a utiliser pour Portage.

Recherchez les ebuilds disponibles avec la ligne de commande emerge --search ou eix.

Attention !
Tandis que le dépôt ebuild de Gentoo est soit écrite et relu par des développeurs Gentoo et le dépôt GURU a quelques revues de la part des développeurs de Gentoo, ce n'est pas toujours le cas pour les autres. Il est possible que certains dépôts ebuild contiennent des logiciels vulnérables, gravement amochés ou, théoriquement, même des logiciels malicieux.

Utilisation

Portage inclus divers outils variés et 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 configurations. Consultez l'article dispatch-conf.

ebuild

ebuild est la commande de Portage pour les divers fonctions d'ebuild.

Cette commande n'est généralement pas lancé par l'utilisateur et est seulement utile pour les développeurs (de Gentoo). N'essayez pas de vous en servir pour installer des paquets, voyez plutôt la commande emerge.

Pour éviter toute ambiguïté entre cette commande et les fichiers ebuild, consultez l'article ebuild.

egencache

L'outil egencache reconstruit le cache des informations metadata pour les dépôts ebuilds. Consultez l'article sur egencache pour de plus amples informations.

emaint

Opère des contrôles du fonctionnement et la maintenance du gestionnaire de paquet.

Consultez l'article sur la manière de synchroniser des répertoires avec emaint. Voyez 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 est la manière dont la plupart des utilisateurs interagiront avec Portage.

Consultez 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ée (snapshot) se trouvant sur le web, consultez Handbook.

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 ajouté dans /etc/portage/repos.conf webrsync.

emirrordist

Outils pour faire un miroir du paquet distfiles.

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 la configuration environnemental automatiquement.

root #env-update -h
Usage: env-update [--no-ldconfig]
 
See the env-update(1) man page for more info

Voir aussi man env-update. Consultez 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 les journaux pour toutes actions réalisées dans le passé.

Attention !
Faites 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 voyez portageq.

quickpkg

Créer des paquets Portage - consultez 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 empaqueter séparément de Portage, dans app-portage/repoman. Consultez 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 les paquets contenues dans le ::gentoo ebuild repository.

glsa-check est un outil pour tracer les divers GLSAs. Il peut être utilisé pour consulter les GLSAs, mais plus important encore tester si le système est vulnérable face à une GLSA connues.

Consultez 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, lancez 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 ? Consultez Package sets.

Dépannage

Portage corrompue ou absent

Bien que cela soit très rare, tout comme 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 dont Portage peut être rétablie ; 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.

Consultez 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 consultez 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 — contient une liste des répertoires, séparés par une espace, où Portage ne copiera pas aveuglément de nouvelles versions des fichiers, définie l'emplacement dans lequel Portage conservera le code source téléchargé, 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 — explains how to upgrade (update) Gentoo, as well as how to proceed for a well maintained system.
  • 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 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 arborescente composée de répertoires et de fichiers, utilisée pour enrichir la liste des logiciels disponibles dans le gestionnaire de paquets du système
  • 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 — Building packages in tmpfs both speeds up emerge times and reduces HDD/SSD wear.

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.

Ebuild ou en rapport avec les paquets

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