Renuncia de responsabilidad:
Este manual ha sido sustituido por una versión más reciente y no tendrá
soporte de aquí en adelante.
|
[ << ]
[ < ]
[ Inicio ]
[ > ]
[ >> ]
2. USE flags
Contenido:
2.a. ¿Qué son los parámetros USE?
Las ideas que hay detrás de los parámetros USE
Mientras esté instalando Gentoo (o cualquier otra distribución, incluso
otro sistema operativo), tomará varias decisiones dependiendo del entorno en el
que esté trabajando. Una instalación para un servidor es distinta a
una para una estación de trabajo. También una estación de trabajo dedicada a
juegos es diferente a una estación de trabajo que se use para renderizados
en 3D.
Estas diferencias no solo dependen de los paquetes instalados, si no también
de las características para las que ciertos paquetes tienen soporte. Si no
necesita OpenGL, ¿para qué molestarse en instalar OpenGL y construir la
mayoría de sus aplicaciones con soporte OpenGL? Si no quiere usar KDE, ¿para
qué molestarte en compilar paquetes con soporte para KDE si podrían funcionar
perfectamente sin él?
Para ayudar a los usuarios a decidir qué instalar/activar o no, necesitamos
que el usuario especifique su entorno de una manera sencilla. Esto obliga al
usuario a decidir que es lo que realmente quiere; además de facilitar a Portage,
nuestro sistema de gestión de paquetes, la tarea de tomar decisiones útiles.
Definición de un parámetro USE
Comencemos por definir qué son los parámetros USE. Un parámetro USE es una
palabra clave que incorpora información de soporte y dependencias para
un concepto en concreto. Si define un determinado parámetro USE, Portage
sabrá que el usuario desea soporte para la palabra clave escogida. Por supuesto,
también altera las dependencias de un paquete.
Veamos un ejemplo específico: la palabra clave kde. Si no la tiene
en su variable USE, todos los paquetes que tengan soporte opcional
para KDE se construirán sin él. Los que tengan una dependencia opcional
con KDE se instalarán sin instalar las librerías de KDE (como dependencia).
Si ha definido la palabra clave kde, entonces dichos paquetes sí se
construirán con soporte para KDE, y las librería de KDE serán instaladas
Definiendo correctamente las palabras clave, conseguirá un sistema
confeccionado específicamente para sus necesidades.
¿Qué parámetros USE existen?
Hay dos tipos de parámetros USE: globales y locales.
-
Un parámetro USE global lo usan varios paquetes, en todo
el sistema. Es lo que la mayoría de la gente entiende como parámetros USE.
-
Un parámetro USE local lo utiliza un sólo paquete para tomar
decisiones específicas para dicho paquete.
Puede encontrar una lista de los parámetros USE globales en línea o localmente en
/usr/portage/profiles/use.desc. Un pequeño (realmente pequeño)
extracto:
Listado de Código 1.1: Un pequeño extracto de los parámetros USE disposibles |
gtk - Adds support for x11-libs/gtk+ (The GIMP Toolkit)
gtk2 - Use gtk+-2.0.0 over gtk+-1.2 in cases where a program supports both.
gtkhtml - Adds support for gnome-extra/gtkhtml
guile - Adds support for dev-util/guile (interpreter for Scheme)
icc - Use the Intel C++ Compiler if the package supports it
icc-pgo - Enable PGO data generation or use when use icc.
imap - Adds support for IMAP
|
Se puede encontrar una lista de los parámetros USE locales
en /usr/portage/profiles/use.local.desc.
2.b. Usando los parámetros USE
Declarar parámetros USE permanentes
Esperamos que se haya convencido de la importancia de los parámetros USE.
Ahora pasaremos a explicar como se declaran estos parámetros.
Como ya se ha dicho anteriormente, todos los parámetros del USE
se declaran dentro de la variable USE. Para simplificar al usuario
la tarea de buscar y escoger parámetros USE, ya proporcionamos
una configuración predeterminada. Esta configuración es un compendio
de parámetros que creemos se utilizan frecuentemente por los usuarios de Gentoo.
Dicha configuración predeterminada se declara en los ficheros
make.defaults que forman parte de su perfil. Echémosle un vistazo
a la configuración predeterminada:
Listado de Código 2.1: La variable USE /usr/portage/profiles/default-linux/x86/2004.3/make.defaults |
USE="x86 oss apm arts avi berkdb crypt cups encode foomaticdb gdbm gif gpm
gtk gtk2 imlib jpeg kde gnome libg++ libwww mad mikmod motif mpeg ncurses
nls oggvorbis opengl pam pdflib png python qt quicktime readline sdl
slang spell ssl svga tcpd truetype X xml2 xmms xv zlib"
|
Como puede ver, esta variable contiene bastantes palabras clave. No
modifique el fichero make.defaults
para ajustar la variable USE a sus necesidades: ¡los cambios se perderán
al actualizar el árbol del Portage!
Para modificar esta configuración predeterminada, necesita añadir o eliminar
palabras clave a la variable USE. Para llevarlo a cabo, se define
la variable USE en /etc/make.conf. En esta variable añada
los parámetros USE que necesite o elimine los que no quiera. Para eliminarlos
coloque el símbolo menos ("-") delante.
Por ejemplo, para eliminar el soporte para KDE y QT además de añadir
soporte para ldap, puede definirse el siguiente parámetro USE en
/etc/make.conf:
Listado de Código 2.2: Un ejemplo de confirmación USE en /etc/make.conf |
USE="-kde -qt ldap"
|
Declarar parámetros USE para paquetes específicos
A veces le interesará establecer un cierto parámetro USE tan sólo para una o
dos aplicaciones, pero no para todo el sistema. Para solventar esto, necesitará
crear el directorio /etc/portage (si no existiera) y editar
/etc/portage/package.use.
Por ejemplo, si no le interesa soporte global para berkdb pero lo quiere
para mysql, necesita añadir:
Listado de Código 2.3: Ejemplo de /etc/portage/package.use |
dev-db/mysql berkdb
|
Por supuesto también puede desactivar el empleo específico de
un parámetro USE para una aplicación en concreto.
Por ejemplo si no quiere soporte para java en PHP:
Listado de Código 2.4: Segundo ejemplo de /etc/portage/package.use |
dev-php/php -java
|
Declarar parámetros USE temporales
A veces necesitará utilizar una cierta configuración de USE tan sólo una vez.
En lugar de editar /etc/make.conf dos veces (una para hacer y
otra para deshacer los cambios) puede declarar la variable USE como una
variable de entorno. Recuerde que, si utiliza este método, cuando vuelva a
emerger o actualice este aplicación (tanto si es particular como si forma
parte de una actualización del sistema) perderá los cambios.
Como ejemplo, vamos a eliminar temporalmente el parámetro java USE
durante la instalación de mozilla.
Listado de Código 2.5: Utilizando USE como una variable de entorno |
# USE="-java" emerge mozilla
|
Heredando parámetros USE
Algunos paquetes no sólo tienen en cuenta los parámetros USE, si no que
además las proporcionan. Cuando instale alguno de esos paquetes, los
parámetros USE proporcionados se añadirán a su configuración. Para ver una lista
de los paquetes que proporcionan parámetros USE, revise
/etc/make.profile/use.defaults:
Listado de Código 2.6: Un extracto de /etc/make.profile/use.defaults |
gnome gnome-base/gnome
gtk x11-libs/gtk+
qt x11-libs/qt
kde kde-base/kdebase
motif x11-libs/openmotif
|
Precedencia
Por supuesto, hay una determinada precedencia respecto a qué configuración
tiene prioridad sobre la configuración del USE. No es necesario declarar
USE="-java" sólo para ver si java está declarado.
La precedencia para la configuración del USE es (el primero tiene la
mínima prioridad):
-
Configuración predeterminada del USE declarada en los archivos
make.defaults de su perfil de su perfil.
-
Configuración del USE heredada si un paquete de
/etc/make.profile/use.defaults está instalado
-
Configuración definida por el usuario en /etc/make.conf
-
Configuración definida por el usuario en /etc/portage/package.use
-
Configuración definida por el usuario como variable de entorno
Para observar el valor final del USE tal y como lo verá Portage, ejecute
emerge info. Se listarán una serie de variables importantes (incluyendo
la variable USE) con sus valores correspondientes.
Listado de Código 2.7: Ejecutando emerge info |
# emerge info
|
Adaptando su Sistema Completamente a los Nuevos Parámetros USE
Si ha cambiado sus parámetros USE y desea actualizar todo su sistema para
que utilice el nuevo parámetro, utilice la opción de emerge llamada
--newuse:
Listado de Código 2.8: Recompilando todo su sistema |
# emerge --update --deep --newuse world
|
A continuación, ejecute una limpieza completa de Portage para eliminar las
dependencias que habían sido instaladas en su "antiguo" sistema pero que
han quedado obsoletas por los nuevos parámetros de USE.
Aviso:
Ejecutar emerge depclean es una operación peligrosa y debería tratarse
con cuidado. Revise en profundidad la lista de paquetes "obsoletos" y asegúrese
de que no elimina ningún paquete que necesite. En el siguiente ejemplo hemos
añadido -p para mostrar la lista de paquetes que serían eliminados
pero sin eliminarlos físicamente.
|
Listado de Código 2.9: Desinstalando los paquetes obsoletos |
# emerge -p depclean
|
Cuando haya finalizado la limpieza, ejecute revdep-rebuild para
recompilar las aplicaciones que están enlazadas dinámicamente con los
objetos que proporcionaban los paquetes eliminados. revdep-rebuild
forma parte del paquete gentoolkit; no olvide emergerlo primero.
Listado de Código 2.10: Ejecutando revdep-rebuild |
# revdep-rebuild
|
Cuando todo esto haya terminado, su sistema estará utilizando la nueva
configuración de los parámetros USE.
2.c. Parámetros USE específicos de un paquete
Viendo los parámetros USE disponibles
Veamos el ejemplo de mozilla: ¿Qué parámetros USE influyen sobre él?
Para averiguarlo, usamos emerge con las opciones --pretend
(simula llevar a cabo la acción) y --verbose (obtener una salida más
detallada):
Listado de Código 3.1: Viendo los parámetros USE usados |
# emerge --pretend --verbose mozilla
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] net-www/mozilla-1.5-r1 +java +crypt -ipv6 -gtk2 +ssl +ldap
+gnome -debug +mozcalendar -mozaccess -mozxmlterm -moznoirc -moznomail
-moznocompose -moznoxft
|
emerge no es la única herramienta disponible para esta labor.
De hecho, tenemos una herramienta llamada etcat
dedicada a obtener información sobre los paquetes; la cual se encuentra
en el paquete gentoolkit. En primer lugar, instale gentoolkit:
Listado de Código 3.2: Instalando gentoolkit |
# emerge gentoolkit
|
Ahora ejecute etcat con el argumento uses para ver los parámetros del
USE de un paquete en concreto. Por ejemplo, en el caso del paquete gnumeric:
Listado de Código 3.3: Usando etcat para ver los parámetros USE usados |
# etcat uses gnumeric
[ Colour Code : set ]
[ Legend : (U) Col 1 - Current USE flags ]
[ : (I) Col 2 - Installed With USE flags ]
U I [ Found these USE variables in : app-office/gnumeric-1.2.0 ]
- - : Adds GNU Data Access (CORBA wrapper) support for gnumeric
- - : unknown
+ + python : Adds support/bindings for the Python language
+ + bonobo : Adds support for gnome-base/bonobo (Gnome CORBA interfaces)
|
[ << ]
[ < ]
[ 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.
|