Gentoo Logo

Renuncia de responsabilidad: Este manual ha sido sustituido por una versión más reciente y no tendrá soporte de aquí en adelante.


[ << ] [ < ] [ Inicio ] [ > ] [ >> ]


3. Características del Portage

Contenido:

3.a. Características del 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 FEATURES del archivo /etc/make.conf. 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 make.conf

Listado de Código 1.1: Consultando la página de ayuda sobre make.conf

$ man make.conf

Para conocer que características están siendo utilizadas por defecto, ejecute emerge info y busque la variable FEATURES o utilice grep:

Listado de Código 1.2: Conociendo que características están configuradas

$ emerge info | grep FEATURES

3.b. Compilación Distribuida

Usando distcc

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 mas detallada sobre distcc (e información de como tenerlo funcionando sobre Gentoo) en nuestra Documentación Gentoo de Distcc.

Instalando distcc

Distcc se distribuye con un monitor gráfico para monitorizar las tareas que su computador está enviando para compilar. Si usa Gnome entonces ponga 'gnome' en su configuración USE. De todas formas, si no usa Gnome pero sigue deseando disponer de un monitor, entonces debería poner 'gtk' en su configuración USE.

Listado de Código 2.1: Instalando distcc

# emerge distcc

Activando el soporte en el Portage

Añada distcc a la variable FEATURES dentro de /etc/make.conf. Hecho esto, edite la variable MAKEOPTS a sus necesidades. Una pauta conocida para configurarla es poner -jX con X representando el número de CPUs que ejecutan distccd (incluyendo el host local) más uno, pero quizá obtenga mejores resultados con otros números.

Ahora ejecute distcc-config 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"):

Listado de Código 2.2: Configurando distcc para usar los tres servidores DistCC disponibles

# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"

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

Listado de Código 2.3: Arrancando el demonio distcc

# rc-update add distccd default
# /etc/init.d/distccd start

3.c. Compilación utiliizando caché

A cerca de ccache

ccache es un caché de compilación rápida. Cuando compila un programa, puede cachear resultados intermedios, de forma que, si usted recompilara el mismo programa, el tiempo de compilación se reduciría ampliamente. En las aplicaciones comunes, esto puede significar un aumento de velocidad entre 5 y 10 veces.

Si esta interesado en los pros y contras de ccache, por favor visite la página web de ccache.

Instalando ccache

Para instalar ccache, ejecute emerge ccache:

Listado de Código 3.1: Instalando ccache

# emerge ccache

Activando el Soporte en el Portage

Primero, edite el /etc/make.conf 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 de "2G":

Listado de Código 3.2: Editando CCACHE_SIZE en /etc/make.conf

CCACHE_SIZE="2G"

Para comprobar si ccache funciona, pídale a ccache que te muestre las estadísticas:

Listado de Código 3.3: Viendo las estadísticas de ccache

# ccache -s

Utilizando 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 /usr/lib/ccache/bin al principio de su variable PATH (antes de /usr/bin). Esto puede llevarse a cabo editando /etc/profile:

Listado de Código 3.4: Editando /etc/profile

PATH="/usr/lib/ccache/bin:${PATH}"

3.d. Soporte para Paquetes Binarios

Creando paquetes binarios

Portage soporta la instalación de paquetes precompilados. A pesar de que Gentoo no proporciona paquetes precompilados por sí mismo (excepto para las imágenes GRP) Portage puede estar funcionando perfectamente con paquetes precompilados.

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

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 concatalyst. Para más información sobre catalyst, por favor lea Manual de Referencia de Catalyst y la Guía de Catalyst (en inglés ambos documentos).

Instalando 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:

Listado de Código 4.1: Configurando PORTAGE_BINHOST en /etc/make.conf

PORTAGE_BINHOST="ftp://buildhost/gentoo"

Cuando quiera instalar un paquete precompilado, añada la opción --getbinpkg al comando emerge junto a la opción --usepkg. 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:

Listado de Código 4.2: Instalando el paquete precompilado gnumeric

# emerge --usepkg --getbinpkg gnumeric

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

Listado de Código 4.3: Leyendo la página de ayuda sobre emerge

$ man emerge

[ << ] [ < ] [ Inicio ] [ > ] [ >> ]


Imprimir

Ver completo

Página actualizada 26 de noviembre, 2004

Esta traducción ha dejado de tener soporte

Sumario: Descubra las características de Portage, como el soporte para la compilación distribuida, ccache y aún más.

Daniel Robbins
Autor

Sven Vermeulen
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Desarrollador Gentoo x86

Tavis Ormandy
Desarrollador Gentoo Alpha

Jason Huebel
Desarrollador Gentoo AMD64

Guy Martin
Desarrollador Gentoo HPPA

Pieter Van den Abeele
Desarrollador Gentoo PPC

Joe Kallar
Desarrollador Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Grant Goodyear
Revisor

Gerald J. Normandin Jr.
Revisor

Donnie Berkholz
Revisor

Ken Nowack
Revisor

Lars Weiler
Contribuidor

José Alberto Suárez López
Editor-Es

John Christian Stoddart
Editor-Es Adjunto

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.