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. Portage Features
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 ]
[ > ]
[ >> ]
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.
|