Handbook:Parts/Working/Features/es

Características de Portage
Portage tiene varias características adicionales que hacen de su experiencia con Gentoo algo mucho mejor. Muchas de estas características residen en ciertas herramientas software que mejoran el rendimiento, la estabilidad, la seguridad, ...

Para activar o desactivar ciertas características de Portage necesita editar la variable  del archivo. Esta variable contiene una lista con las palabras clave de cada característica separadas por un espacio en blanco. En algunos casos necesita además instalar la herramienta que implementa la característica.

No todas las características que soporta Portage están aquí reflejadas. Para una consulta completa por favor revise la página de la ayuda referente a

Para conocer qué características están siendo utilizadas por defecto, ejecute  y busque la variable   o utilice grep:

Usar distcc
es un programa para distribuir un trabajo de compilación a través de muchas, no necesariamente idénticas, máquinas en una red. Los clientes de distcc envían toda la información necesaria a los servidores DistCC disponibles (corriendo distccd) así pueden compilar trozos de código fuente para el cliente. El resultado final, es un tiempo de compilación más rápido.

Puede encontrar información más detallada sobre distcc (e información de como tenerlo funcionando sobre Gentoo) en el artículo sobre Distcc.

Instalar distcc
Distcc se distribuye con un monitor gráfico para monitorizar las tareas que su computador está enviando para compilar. Esta herramienta es instalada automáticamente si activa USE=gnome o USE=gtk.

Activar el soporte en Portage
Añada distcc a la variable FEATURES dentro de. Hecho esto, edite la variable MAKEOPTS e incremente a la cantidad de trabajos de compilación en paralelo que su sistema permite. Una pauta conocida para configurarla es poner -jX con X representando el número de CPUs que ejecutan distccd (incluyendo la máquina local) más uno, pero quizá obtenga mejores resultados con otros números.

Ahora ejecute  y cree una lista de los servidores distcc disponibles. Para un ejemplo simple, supondremos que los servidores DistCC son 192.168.1.102 (el host local), 192.168.1.103 y 192.168.1.104 (los dos hosts "remotos"):

Por supuesto, no se olvide ejecutar también el demonio distccd:

Acerca de ccache
es un caché de compilación rápida. Cuando compila un programa, puede guardar resultados intermedios, de forma que, si recompila el mismo programa, el tiempo de compilación se reducirá ampliamente. La primera vez que se ejecuta ccache, ésta será más lenta que una compilación normal. Recompilaciones posteriores deberían ser más rápidas. La herramienta ccache solo es útil si va a recompilar la misma aplicación muchas veces; por lo tanto en la mayoría de los casos es útil únicamente para los desarrolladores de software.

Para mas información sobre ccache, visite su página principal.

Instalar ccache
Para instalar ccache, ejecute :

Activar el Soporte en Portage
Primero, edite el fichero y añada a la variable FEATURES la palabra clave ccache. A continuación, añada una nueva variable llamada CCACHE_SIZE y dele el valor "2G":

Para comprobar si ccache funciona, pídale a ccache que te muestre las estadísticas. Ya que Portage utiliza un directorio diferente para guardar los datos, se necesita fijar la variable CCACHE_DIR para reflejar esto:

La ruta  es el directorio por defecto que emplea Portage para ccache; si quiere cambiar esta variable, configure CCACHE_DIR en.

Sin embargo, si ejecuta simplemente, empleará como directorio por defecto , que es la razón por la cual necesita configurar la variable CCACHE_DIR cuando se le pide a Portage que muestre las estadísticas de ccache.

Utilizar ccache para compilaciones de C sin relación con Portage
Si quiere utilizar ccache para compilaciones que no tengan que ver con Portage, añada al principio de su variable PATH (antes de ). Esto puede llevarse a cabo editando el fichero de su directorio home de usuario. es una de las maneras de definir variables.

Crear paquetes binarios
Portage soporta la instalación de paquetes precompilados. A pesar de que Gentoo no proporciona paquetes precompilados por sí mismo, Portage puede funcionar perfectamente con paquetes precompilados.

Para crear un paquete precompilado puede utilizar  si el paquete está instado en su sistema, o emerge con las opciones   o.

Si quiere que Portage cree paquetes precompilados de cada paquete individual que instale, añada buildpkg a la variable FEATURES.

Puede encontrar mayor soporte para la creación de conjuntos de paquetes precompilados con catalyst. Para más información sobre catalyst, por favor lea las Preguntas frecuentes sobre Catalyst (en inglés).

Instalar Paquetes Precompilados
A pesar de que Gentoo no proporciona uno, puede crear un repositorio central donde almacene paquetes precompilados. Si quiere utilizar este repositorio, necesita que Portage lo conozca a través de la variable PORTAGE_BINHOST que debe apuntar al repositorio. Por ejemplo, si los paquetes precompilados están en ftp://buildhost/gentoo:

Cuando quiera instalar un paquete precompilado, añada la opción  a la orden emerge junto a la opción. La primera le indica a emerge que descargue el paquete precompilado del servidor definido previamente, mientras que el segundo indica a emerge que intente instalar el paquete precompilado antes de buscar el código fuente y compilarlo.

Por ejemplo, para instalar gnumeric a través de paquetes precompilados:

Más información sobre las opciones para utilizar paquetes precompilados con emerge puede consultarse en la página man de ayuda:

Distribuir paquetes precompilados a otros
Si distribuye paquetes precompilados a otros, asegúrese que eso está permitido. Compruebe los términos para la distribución del desarrollador del paquete. Por ejemplo, para un paquete publicado bajo GNU GPL, las fuentes deben estar disponibles junto con los binarios.

Los ebuilds pueden definir una restricción  en su variable   si los binarios construidos no son distribuibles. En algunos casos esta restricción está condicionada a uno o mas ajustes USE.

Por defecto, Portage no enmascara ningún paquete debido a esta restricción. Esto puede cambiarse globalmente configurando la variable  en. Por ejemplo, para enmascarar paquetes que tengan una restricción  añada la siguiente línea a :

También es posible modificar el valor de la variable  añadiendo la opción   al comando. Por ejemplo,  temporalmente enmascarará paquetes con restricción.

Considere también ajustar la variable  cuando distribuya paquetes. Vea la sección Licencias para ello.

Userfetch
Cuando Portage se ejecuta por el usuario root, FEATURES="userfetch" permitirá que Portage ejecute sin los privilegios de superusuario mientras obtiene las fuentes. Este es una pequeña mejora en la seguridad.

Obtener instantáneas validadas del árbol de ebuilds de Gentoo
Administrators can opt to update the local Gentoo ebuild tree with a cryptographically validated tree snapshot as released by the Gentoo infrastructure. This ensures that no rogue rsync mirror is adding unwanted code or packages to the tree the system is downloading.

The Gentoo release media OpenPGP keys are now available as a binary keyring, installed via the package.

This will install the keyring to the location.

Make sure that package is installed:

Use gpg to verify that the keys in the keyring are the correct keys:

Verify the fingerprints of the key(s) against those listed here: Project:RelEng Repeat the following command for each key you wish to trust. (Substitute the keyid '0x...' for the desired key you wish to trust.)

The system is now set-up to sync using only OpenPGP/gpg verified snapshots. Several command options are available to perform the sync.

Original install and configuration instructions

To configure Portage to validate the snapshots, first create a truststore in which the keys of the Gentoo Infrastructure responsible for signing the Portage tree snapshots are stored. Of course, this OpenPGP key can be validated as per the proper guidelines (like checking the key fingerprint). The list of OpenPGP keys used by the release engineering team is available on their project page.

Make sure that is installed:

In the next set of commands, substitute the keys with those mentioned on the release engineering site:

Next, edit and enable support for validating the signed portage tree snapshots (using FEATURES="webrsync-gpg") and disabling updating the Portage tree using the regular emerge --sync method.

In the file, clear the   and   variables so that emerge --sync no longer works (and thus no longer pulls in ebuilds that come from a potentially non-validated source):

That is it. Next time emerge-webrsync is ran, only the snapshots with a valid signature will be expanded on the filesystem.