Portage/es

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.
See also
Portage es un gestor de paquetes muy avanzado que tratará los deseos su usuario/a con el mayor respeto. A veces se le confía mucho poder al usuario, así que quizás esté buscando Ayuda con Portage en vez de este artículo.

Portage es el sistema de gestión de paquetes y sistema de distribución oficial para Gentoo. Funciona como el corazón de los sistemas operativos basados en Gentoo, dando resolución avanzada de dependencias, construcción flexible e instalación de software desde la fuente o paquetes binarios, incluyendo herramientas para producir, controlar y distribuir archivos binarios y otras funcionalidades del sistema.

Portage proveerá software desde el repositorio de ebuilds de Gentoo, cualquier repositorio adicional o a partir de un anfitrión de paquetes binarios. Portage incluye muchos comandos para gestionar repositorios y paquetes, siendo su principal comando emerge.

Algunas preguntas frecuentes acerca de Portage y el comando emerge se responden en el preguntas frecuentes y en el preguntas frecuentes de Portage (en inglés).

Consejo
En el día a día, emerge, emaint, y dispatch-conf serán los comandos de Portage más usados. Observe la documentación relevante.
See also
Vea man portage para la documentación completa a usuarios. Revise el artículo emerge por insformación de como instalar y mantener paquetes con Portage.

Este artículo describe a Portage desde la mirada del usuario. Quienes busquen contribuir con el desarrollo de Portage deberán visitar la página del proyecto Portage.

Instalación

Todos los instaladores traen Portage por lo que ¡no hay necesidad de instalarlo!.

En cosa de una rara eventualidad donde Portage se corrompa o se pierda, vea la sección Portage corrupto o ausente.

Actualizando Portage

Para mantener Gentoo al día, Portage debe estar al día. Generalmente la cotidiana actualización de Gentoo automáticamente actualizará Portage sin problemas.

En ocasiones, actualizaciones de Portage pueden aconsejarse antes que el resto del sistema. Luego de sincronizar Portage, un mensaje con este pedido puede aparecer:

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

Descargar portage de forma recomendada (adapta este comando si el mensaje es diferente que el de este ejemplo). La opción --oneshot es importante, para evitar añadir sys-apps/portage al world file:

root #emerge --ask --oneshot sys-apps/portage

Si hay algún problema actualizando Portage, tal vez pueda ayudar User:Sam/Portage_help/Upgrading_Portage.

Configuración

Archivos

La configuración principal de Portage esta en make.conf, aunque hay muchos archivos que solían configurar Portage, mayormente en la carpeta /etc/portage.

Mira man make.conf para documentacion comprensiva, notando una lista de variables que pueden ser establecidos en este archivo.

El archivo /usr/share/portage/config/make.globals contiene muchos valores de la configuración por defecto guardados por Portage. Estos valores pueden ser sobrescritos especificando el mismo nombre de la varia ble en /etc/portage/make.conf.

Variables del entorno

Portage puede configurarse en gran medida mediante variables de entorno.

Vea man make.conf para más información en las variables del entorno disponibles. Consulte también la sección trabajar con variables del entorno en Gentoo del Manual.

Para ver todas las variables del entorno declaradas, ejecute:

user $emerge --info --verbose
Consejo
Las variables del entorno pueden ser declaradas paquete a paquete creando entradas en /etc/portage/package.env.

Repositorios de ebuilds

Además del repositorio de ebuilds de Gentoo, del cual Portage extraerá los paquetes por defecto, existen repositorios de ebuilds adicionales, como por ejemplo:

  • repos.gentoo.org - lista de repositorios de la comunidad, algunos de desarrolladores de Gentoo
  • GURU - el repositorio de ebuilds mantenido por usuarios de Gentoo oficial, con cierto soporte por parte de algunos desarrolladores de Gentoo
  • gpo.zugaina.org - lista de repositorios de ebuilds de terceros

El artículo de repositorio de ebuilds tiene una sección sobre la configuración de repositorios de ebuilds para Portage.

Busque ebuilds disponibles en la línea de comandos con emerge --search o eix.

Advertencia
Si bien el repositorio de ebuilds de Gentoo es escrito o, como mínimo, revisado pro desarrolladores de Gentoo, y el repositorio GURU tiene cierta supervisión de los desarrolladores, no siempre es el caso al hablar de repositorios de terceros. Es posible que algunos repositorios de ebuilds contengan software vulnerable, inutilizable o, en términos técnicos, malicioso.

Anfitriones de paquetes binarios

Los anfitriones de paquetes binarios se configuran en /etc/portage/binrepos.conf y permiten una rápida instalación de paquetes binarios precompilados, siempre y cuando exista un paquete que cumpla con los ajustes USE solicitados a la hora de instalar o actualizar dicho paquete.

Hay un anfitrión de paquetes binarios oficial de Gentoo que contiene muchos paquetes binarios para las arquitecturas amd64 y arm64; vea la guía a través de sus enlaces para ver instrucciones sobre su configuración y utilización.

Para configurar anfitriones de paquetes binarios alternativos, y para ver más información sobre el uso de paquetes binarios bajo Portage, vea la guía de paquetes binarios.

Utilización

Portage incluye multitud de herramientas y utilidades para asistir a la administración y mantenimiento de un sistema. Las siguiente secciones las listan en orden alfabético.

Consejo
Los comandos principales que un/a usuario/a tendrá que utilizar a diario son emerge, emaint y dispatch-conf.

archive-conf

El propósito de archive-conf es dejar guardado un archivo de configuración en el directorio de archivos de dispatch-conf. La mayoría de usuarios/as no deberían tener que ejecutar este comando nunca:

root #archive-conf
Usage: archive-conf /CONFIG/FILE [/CONFIG/FILE...]

dispatch-conf

La herramienta dispatch-conf se utiliza para gestionar las actualizaciones de los archivos de configuración. Vea el artículo dispatch-conf.

ebuild

ebuild es el comando de Portage para ejecutar las diversas funciones de ebuild.

Este comando generalmente no es ejecutado por el/la usuario/a común y es solamente útil para desarrolladores. No trate de usarlo para instalar paquetes, sino el comando emerge en su defecto.

Para desambiguaciones entre este comando y los archivos ebuild, vea el artículo ebuild.

egencache

La herramienta egencache reconstruye el caché de información de metadatos para los repositorios de ebuilds. Vea el artículo egencache para más información.

emaint

Ejecuta varios sistemas de mantenimiento y diagnósticos de salud relacionados con la gestión de paquetes.

Vea el artículo sincronización de repositorios para ver cómo se usa emaint para sincronizar repositorios. Vea man 1 emaint para información detallada.

Nota
El comando emerge --sync ahora se implementa en 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 es la interfaz de la línea de comandos de Portage y es como la mayoría de usuarios interactuarán con Portage.

Vea el artículo emerge para ver más información en la wiki.

emerge-webrsync

Instala una instantánea del repositorio de ebuilds de Gentoo de la web. Vea el Manual.

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 es ejecutado de manera interna al usar eix-sync cuando el sync-type en /etc/portage/repos.conf está establecido como webrsync.

emirrordist

Herramienta para duplicar distfiles de paquetes.

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

Véase también man emirrordist.

env-update

Actualiza las configuraciones del entorno automáticamente.

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

Véase también man env-update. Vea el artículo login para información sobre cómo se configura el entorno en Gentoo.

fixpackages

Ejecuta actualizaciones de movimiento para todos los paquetes.

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

Véase también man fixpackages.

regenworld

Regenera el archivo world al revisar todas las acciones que se han hecho en el pasado en el archivo de registro de Portage.

Advertencia
Haga una copia de seguridad del archivo world existente (/var/lib/portage/world) antes de utilizar esta herramienta.
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

Vea portageq para más detalles.

quickpkg

Crea paquetes de Portage. Vea la guía de paquetes binarios para más información.

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')

Véase también man quickpkg.

repoman

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

repoman es una herramienta de desarrollo para probar ebuilds. Desde la versión 2.3.0, es distribuido separado de Portage, en app-portage/repoman. Vea el artículo repoman para más información.

Ahora está obsoleto y en su defecto se utilizan las herramientas que otorgan los paquetes dev-util/pkgcheck y dev-util/pkgdev.

glsa-check

Los Gentoo Linux Security Announcements, o GLSAs son notificaciones enviadas a la comunidad para informar de vulnerabilidades de seguridad que afectan a Gentoo Linux o a paquetes específicos que contiene el repositorio de ebuilds ::gentoo.

glsa-check es una herramienta que sirve para llevar un registro de los distintos GLSAs. Se puede usar para ver GLSAs, pero, más importante aún, sirve para comprobar si el sistema es vulnerable a dichos GLSAs conocidos.

Vea man glsa-check y glsa-check --help para más información:

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'

Consejos

Problemas comunes de Portage y sus soluciones

Gentoo tiene muchas más opciones de configuración que la mayoría de distribuciones. Esto puede provocar que el/la usuario/a se enfrente a terminología confusa al principio, como bloqueadores, dependencias circulares, REQUIRED_USE (o ajustes USE requeridos), entre otros.

Los artículos listados abajo ayudarán a los/las usuarios/as entender cómo surgen estos problemas y cómo resolverlos.

Ayuda de Portage

Fecha de sincronización del repositorio principal de ebuilds Gentoo

Para ver cuándo fue la última vez que el repositorio de ebuilds de Gentoo fue sincronizado (actualizado), ejecute el siguiente comando:

user $cat /var/db/repos/gentoo/metadata/timestamp.chk

Listar grupos de paquetes

¿Necesita determinar qué paquetes pertenecen a cada grupo? Vea el artículo grupos de paquetes.

Resolución de problemas

Portage corrupto o ausente

Si bien es muy raro, como puede pasar con cualquier tipo de datos, existe una posibilidad de que Portage se corrompa o incluso se desinstale, evento que podría ser muy malo para el funcionamiento de todo el sistema. Si esto llegara a ocurrir, existen formas de recuperar Portage. Sin embargo, siendo Portage una pieza vital, reinstalarlo suele ser una operación nada trivial que requiere de intervención manual y que consta en, básicamente, instalar un gestor de paquetes sin un gestor de paquetes.

Vea Arreglar mi Gentoo para más detalles sobre una instalación de emergencia con paquetes binarios. Véase también Arreglar un Portage roto.

Cambio del lugar por defecto para el repositorio de ebuilds de Gentoo

A partir de Portage v2.3.66[1], lanzado el 29/04/2019[2], los lugares predeterminados se cambiaron a los directorios portdir, distdir, repo_name y repo_basedir.

Para más información véase el bug bug #662982.

Ruta antigua

CÓDIGO Location before 2019-04-29
repo_basedir="/usr"
repo_name="portage"
distdir="/usr/portage/distfiles"
portdir="/usr/portage"
target_distdir="/usr/portage/distfiles"
target_pkgdir="/usr/portage/packages"

Nueva ruta

CÓDIGO Location as of 2019-04-29 and later
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"

Véase también

  • /etc/portage — the primary configuration directory for Portage, Gentoo's package manager.
  • /etc/portage/make.conf — el archivo de configuración principal del entorno Portage a nivel 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 relación a Portage

  • Upgrading Gentoo — explica cómo actualizar Gentoo, además de cómo actuar para mantener adecuadamente el sistema.
  • 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 — una introducción al código compilado de forma óptima usando CFLAGS y CXXFLAGS seguras y sanas
  • 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 — una estructura de directorios y ficheros utilizados para añadir y extender paquetes de software en un sistema basado en Gentoo.
  • Category:Portage
  • Gentoolkit
  • 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 en el Manual AMD64

Herramientas de Portage

= Gestores de paquetes alternativos e interfaces gráficas (GUIs)

  • Pkgcore — an alternative package manager for Gentoo that aims for high performance, extensibility, and a clean design.
  • app-portage/kuroo - Graphical Portage frontend based on KF5/Qt5.
  • App Swipe - Qt GUI for browsing local Portage repositories.

En relación a ebuilds o paquetes

  • Package sets — describes package sets in high detail and includes a list of all typically available sets on a Gentoo system.

Recursos externos

Páginas del manual de Portage

Las páginas del manual contienen documentación técnica completa de Portage. Escriba man <subject> en un intérprete de comandos en un sistema Gentoo para leer la página del manual local. Nótese que las páginas del manual tienen una sección véase también para ampliar información.