[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
1. Ficheros y Directorios
Contenido:
1.a. Ficheros de Portage
Directivas de configuración
Portage viene con una configuración predefinida guardada en
/etc/make.globals. Cuando le eche un vistazo, comprobará
que 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 /etc/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, exactamente no es un directorio pero es un enlace simbólico a un
perfil, por defecto uno perteneciente a
/usr/portage/profiles 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 para usuarios
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
nunca quiere que Portage instale en su sistema.
-
package.unmask especifica los paquetes que quiere
instalar a pesar de haber sido desaconsejados por los
desarrolladores.
-
package.accept_keywords especifica los paquetes que quiere
instalar a pesar de no haber sido considerados adecuados para su
sistema o arquitectura (todavía).
-
package.use especifica la lista de variables USE que
quiere utilizar para unos determinados paquetes sin tener que
configurar el sistema por completo para que use esas variables
USE.
Estos no tienen que 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 de
archivos que pueden crearse allí en la página man de Portage.
Listado de Código 1.1: Leyendo la página del manual sobre Portage |
$ man portage
|
Cambiando el fichero de Portage y el lugar del directorio
Los archivos de configuración mencionados anteriormente no pueden ser
guardados en ningún otro sitio, Portage siempre los buscará en esos
lugares exactos. 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 árbol de Portage, ...
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 modificado su emplazamiento en el sistema
de ficheros.
Este documento no pretende ser utilizado como referencia. Si necesita
una cobertura 100%, por favor consulte las páginas del man relativas a
Portage y make.conf:
Listado de Código 1.2: Leyendo las páginas del manual sobre Portage y make.conf |
$ man portage
$ man make.conf
|
1.b. Guardando ficheros
El árbol Portage
La ubicación predeterminada del árbol de Portage es
/usr/portage. Esta definida por la variable
PORTDIR. Cuando guarde el árbol de Portage en cualquier otro lugar
(modificando esta variable), no olvide cambiar el enlace simbólico
/etc/portage/make.profile de acuerdo con su cambio.
Si modifica la variable PORTDIR, seguramente quiera cambiar las
siguientes variables ya que no tienen constancia del cambio de
PORTDIR. Esto es debido a cómo Portage maneja las variables: PKGDIR,
DISTDIR, 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. ¡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 modificaciones temporales, paquetes
virtuales, árbol de dependencias, ...) se guarda en
/var/cache/edb. Esta ubicación es una verdadera caché: se
puede limpiar si no se está ejecutando ninguna aplicación que tenga
relación con Portage en este momento.
1.c. Compilando aplicaciones
Ficheros temporales de Portage
Los ficheros 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 compilación
Portage crea directorios de compilación específicos para cada paquete
que se emerge dentro de /var/tmp/portage. Esta ubicación
viene definida por la variable BUILD_PREFIX.
Ubicación del sistema de ficheros
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.
1.d. Características de registro de acciones (log)
Registro de acciones de 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 elog. Si
no tiene definido PORT_LOGDIR y usa elog, recibirá los registros de
construcción de paquetes y cualquier otro registro salvado por elog,
como se explica a continuación.
Portage ofrece un control de grano fino sobre el registro de sistema
mediante el uso de elog:
-
PORTAGE_ELOG_CLASSES: Es donde se define cuáles mensajes serán
registrados. Puede utilizarse cualquier cualquier combinación
separada por espacios en blanco de info, warn,
error, log and 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" encontrados en
algunos ebuilds
-
qa:: Registra los mensajes del tipo "QA Notice"
mostrados por un ebuild.
-
PORTAGE_ELOG_SYSTEM: Selecciona el (los) 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á
definido.
-
custom: Pasa todos los mensajes a una orden definida
por el usuario en $PORTAGE_ELOG_COMMAND; esto se discutirá 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; esto se
discutirá más adelante. Las características de correo de elog
requieren >=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 definido.
-
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:
-
PORTAGE_ELOG_COMMAND="/trayectoria/al/gestor -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):
-
PORTAGE_ELOG_MAILURI="user@some.domain
username:password@smtp.some.domain: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:
-
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.
|
[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|