Manual de Gentoo: X86/Portage/Archivos

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

Other languages:
Deutsch • ‎English • ‎español • ‎日本語 • ‎한국어 • ‎polski • ‎русский • ‎українська • ‎中文(中国大陆)‎
X86 Manual
Instalación
Acerca de la instalación
Elegir los medios
Configurar la red
Preparar los discos
Instalar el stage3
Instalar el sistema base
Configurar el núcleo
Configurar el sistema
Instalar las herramientas
Configurar el cargador de arranque
Terminar
Trabajar con Gentoo
Introducción a Portage
Ajustes USE
Características de Portage
Sistema de guiones de inicio
Variables de entorno
Trabajar con Portage
Ficheros y directorios
Variables
Mezclar ramas de software
Herramientas adicionales
Repositorios personalizados de paquetes
Características avanzadas
Configuración de la red
Comenzar
Configuración avanzada
Configuración de red modular
Conexión inalámbrica
Añadir funcionalidad
Gestión dinámica


Archivos de Portage

Directivas de configuración

Portage viene con una configuración predefinida guardada en /usr/share/portage/config/make.globals. Toda la configuración de Portage se realiza a través de variables. A qué variables atiende Portage y que significan se describe un poco después.

Como muchas directivas de configuración varían de unas arquitecturas a otras, Portage también posee algunos archivos de configuración que son parte de perfil. Su perfil está apuntado por el enlace simbólico /etc/portage/make.profile; las configuraciones de Portage se realizan en los archivos make.defaults de su perfil y de todos los perfiles padres. Explicaremos algo más sobre perfiles y el directorio /etc/portage/make.profile más adelante.

Si está pensando en cambiar una variable de configuración, no modifique /usr/share/portage/config/make.globals o make.defaults. En lugar de eso utilice /etc/portage/make.conf el cual tiene preferencia sobre los archivos anteriores. También encontrará /usr/share/portage/config/make.conf.example. Como su propio nombre indica, este archivo es meramente un ejemplo y Portage no lo utilizará con ningún propósito.

También puede definir una variable de configuración para Portage como una variable de entorno, pero no es recomendable.

Información específica del perfil

Ya hemos hablado del directorio /etc/portage/make.profile. Bien, no es exactamente un directorio sino un enlace simbólico a un perfil, por defecto uno perteneciente a /usr/portage/profiles/ aunque también puede crear un perfil en cualquier otro lado y apuntarlo. El perfil al cual apunta el enlace simbólico será el que tenga en cuenta su sistema.

Un perfil contiene información específica para Portage sobre cada arquitectura, tal como una lista de paquetes que pertenecen al sistema correspondiente con ese perfil, una lista de paquetes que no funcionan (o están enmascarados) para ese perfil, etc.

Configuración específica de usuario

Cuando necesite sobreescribir una característica de Portage relativa a la instalación de software, necesitará editar los archivos contenidos en /etc/portage/. ¡Se recomienda encarecidamente que utilice los archivos pertenecientes a /etc/portage/ y está desaconsejada la sobreescritura de estas características con variables de entorno!

Dentro de /etc/portage/ puede crear los siguientes archivos:

  • package.mask el cual especifica los paquetes que no quiere que Portage instale en su sistema nunca
  • package.unmask especifica los paquetes que quiere que Portage instale a pesar de haber sido desaconsejados por los desarrolladores de Gentoo
  • package.accept_keywords especifica los paquetes que quiere que Portage instale a pesar de no haber sido considerados adecuados para su sistema o arquitectura (todavía)
  • package.use especifica la lista de ajustes USE que quiere utilizar para unos determinados paquetes sin tener que utilizarlos para todo el sistema

Pero no tienen porque ser archivos; también pueden ser directorios que contengan un archivo por paquete. Podemos obtener más información acerca del directorio /etc/portage/ y una lista completa de archivos que pueden crearse allí en la página man de Portage:

user $man portage

Cambiar la ubicación de archivos y directorios de Portage

Los archivos de configuración mencionados anteriormente no pueden ser guardados en ningún otro sitio, Portage siempre los buscará exactamente en esos lugares. Sin embargo, Portage utiliza otras muchos lugares para varios propósitos: el directorio de compilación, el lugar donde guardar el código fuente, la localización del repositorio Gentoo, ...

Todos estos propósitos tienen unas direcciones predeterminadas muy claras pero puede cambiarlas por las que más le gusten indicándolo en /etc/portage/make.conf. El resto de este capítulo explica los lugares destinados a un propósito especial que utiliza Portage y como puede ser modificada su ubicación en el sistema de archivos.

Este documento no pretende ser utilizado como referencia. Si necesita un conocimiento completo, por favor consulte las páginas man relativas a Portage y make.conf:

user $man portage
user $man make.conf

El almacén de archivos

El repositorio Gentoo

La ubicación por defecto del repositorio de Gentoo es /usr/portage. Esto se define en el fichero por defecto repos.conf que se encuentra en /usr/share/portage/config/repos.conf. Para modificar el valor por defecto, copie este fichero a /etc/portage/repos.conf/gentoo.conf y cambie el ajuste location. Cuando se almacene el repositorio Gentoo en otro lugar (cambiando el valor de esta variable), no olvide cambiar el enlace simbólico /etc/portage/make.profile de forma apropiada.

Después de cambiar el valor del ajuste location en /etc/portage/repos.conf/gentoo.conf, se recomienda alterar igualmente las siguientes variables en /etc/portage/make.conf ya que no reflejarán el cambio realizado en location. Esto es debido a cómo Portage gestiona estas variables: PKGDIR, DISTDIR y RPMDIR.

Binarios pre-compilados

Aunque Portage no utilice binarios pre-compilados por defecto, tiene un buen soporte para ellos. Cuando a Portage se le indica que trabaje con paquetes pre-compilados, los buscará en /usr/portage/packages. Esta ubicación está definida por la variable PKGDIR.

Código Fuente

El código fuente de las aplicaciones se guarda por defecto en /usr/portage/distfiles. Esta ubicación viene definida por la variable DISTDIR.

Base de datos de Portage

Portage guarda el estado del sistema (que paquetes están instalados, qué archivos pertenecen a cada paquete, ...) en /var/db/pkg.

Advertencia
¡No se deben modificar estos archivos manualmente! Podría romper el conocimiento que tiene Portage sobre el sistema.

Caché de Portage

La caché de Portage (con fechas de modificacion, paquetes virtuales, información del árbol de dependencias, ...) se guarda en /var/cache/edb. Esta ubicación es una caché real: se puede borrar si no se está ejecutando ninguna aplicación que tenga relación con Portage en este momento.

Construcción de aplicaciones

Archivos temporales de Portage

Los archivos temporales de portage se guardan por defecto en /var/tmp/. Esta ubicación se define en la variable PORTAGE_TMPDIR.

Si modifica la variable PORTAGE_TMPDIR, necesitará cambiar las siguientes variables ya que no tendrán constancia del cambio. Esto es debido a cómo Portage maneja la variable: BUILD_PREFIX.

Directorio de construcción

Portage crea directorios de compilación específicos dentro de /var/tmp/portage/ para cada paquete que emerge . Esta ubicación viene definida por la variable BUILD_PREFIX.

Instalación en el sistema de archivos

Por defecto, Portage instala todas los archivos en el sistema de ficheros activo (/), pero puede cambiarse esta configuración a través de la variable de entorno ROOT. Esto es útil cuando quiera crear nuevas imágenes compiladas.

Características de registro de acciones (log)

Registro de acciones de los ebuilds

Portage puede crear un registro por ebuild, pero solamente cuando la variable PORT_LOGDIR esté configurada y apuntando a una dirección con permisos de escritura para Portage (usuario Portage). De manera predeterminada está variable está desactivada. Si no configura PORT_LOGDIR no recibirá los registros con el sistema de registro actual, aunque tal vez reciba algún registro del nuevo sistema elog.

Si no tiene definido PORT_LOGDIR y usa elog, recibirá los registros de construcción de paquetes y cualquier otro registro guardado por elog, como se explica a continuación.

Portage ofrece un control muy ajustable sobre el registro de sistema mediante el uso de elog:

  • PORTAGE_ELOG_CLASSES: Es donde se define cqué tipo de mensajes serán registrados. Puede utilizarse cualquier cualquier combinación separada por espacios en blanco de info, warn, error, log y qa.
    • info: Registra los mensajes "einfo" generados por un ebuild
    • warn: Registra los mensajes "ewarn" generados por un ebuild
    • error: Registra los mensajes "eerror" generados por un ebuild
    • log: Registra los mensajes "elog" que se pueden encontrar en algunos ebuilds
    • qa:: Registra los mensajes del tipo "QA Notice" generados por un ebuild
  • PORTAGE_ELOG_SYSTEM: Selecciona el módulo o módulos para procesar los mensajes de registro. Si se deja sin definir, se desactiva la función de registro. Puede usar cualquier combinación separada por espacios en blanco de save, custom, syslog, mail, save_summary y mail_summary. Debe seleccionar al menos un módulo para poder usar elog.
    • save: Almacena un registro por paquete en $PORT_LOGDIR/elog, o /var/log/portage/elog si $PORT_LOGDIR no está definida.
    • custom: Pasa todos los mensajes a una orden definida por el usuario en $PORTAGE_ELOG_COMMAND; se detalla más adelante.
    • syslog: Envía todos los mensajes al gestor de registro de sistema instalado.
    • mail: Pasa todos los mensaje a un servidor de correo definido por el usuario en $PORTAGE_ELOG_MAILURI; se detalla más adelante. Las características de correo de elog requieren un portage >=portage-2.1.1.
    • save_summary: parecido a save, pero fusionando todos los mensajes en $PORT_LOGDIR/elog/summary.log, o /var/log/portage/elog/summary.log si $PORT_LOGDIR fue definida.
    • mail_summary: parecido a mail, pero envía todos los mensajes en un solo mensaje de correo cuando emerge finaliza.
  • PORTAGE_ELOG_COMMAND: Esto solamente se usa al activarse el módulo custom. Aquí podemos especificar una orden con la cual se procesarán los mensajes de registro. Observe que puede hacer uso de dos variables de entorno: ${PACKAGE} es el nombre del paquete y la versión, mientras que ${LOGFILE} es la ruta absoluta del archivo de registro. A continuación se muestra un posible uso:
CÓDIGO Ejemplo de definición de PORTAGE_ELOG_COMMAND
PORTAGE_ELOG_COMMAND="/ruta/al/ejecutable/registrador -p '\${PACKAGE}' -f '\${LOGFILE}'"
  • PORTAGE_ELOG_MAILURI: Contiene la configuración del módulo mail, tal como dirección, usuario, contraseña, servidor de correo y número de puerto. Por defecto está configurado a "root@localhost localhost". Aquí presentamos un ejemplo para un servidor SMTP que requiere autenticación con nombre de usuario y contraseña en un puerto en particular (el puerto por defecto es el 25):
CÓDIGO Ejemplo de definición de PORTAGE_ELOG_MAILURI
PORTAGE_ELOG_MAILURI="usuario@algun.dominio
usuario:password@smtp.algun.dominio:995"
  • PORTAGE_ELOG_MAILFROM: Permite configurar la dirección "from" de los correos de registro; su valor por defecto es "Portage".
  • PORTAGE_ELOG_MAILSUBJECT: Permite la creación de una línea de asunto para los correos de registro. Note que puede hacer uso de dos variables de entorno: ${PACKAGE} mostrará el nombre y la versión del paquete, mientras que ${HOST} es el nombre del dominio completo del anfitrión donde está corriendo Portage. Aquí está un posible uso:
CÓDIGO Ejemplo de definición de PORTAGE_ELOG_MAILSUBJECT
PORTAGE_ELOG_MAILSUBJECT="El paquete \${PACKAGE} fue instalado en \${HOST} con algunos mensajes"
Importante
Si ha usado enotice con Portage-2.0.*, elimine enotice, ya que es incompatible con elog.