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 ] [ > ] [ >> ]


2. Los Parámetros USE

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 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 está declarada en el fichero /etc/make.profile/make.defaults. Echémosle un ojo:

Listado de Código 2.1: La variable USE de /etc/make.profile/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 /etc/make.profile/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):

  1. Configuración predeterminada del USE declarada en /etc/make.profile/make.defaults
  2. Configuración del USE heredada si un paquete de /etc/make.profile/use.defaults está instalado
  3. Configuración definida por el usuario en /etc/make.conf
  4. Configuración definida por el usuario en /etc/portage/package.use
  5. 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 unset ]
[ 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 ]
 - - libgda  : Adds GNU Data Access (CORBA wrapper) support for gnumeric
 - - gnomedb : unknown
 + + python  : Adds support/bindings for the Python language
 + + bonobo  : Adds support for gnome-base/bonobo (Gnome CORBA interfaces)

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


Imprimir

Ver completo

Página actualizada Noviembre 12, 2004

Esta traducción ha dejado de tener soporte

Sumario: Los parámetros USE son una parte importante de Gentoo. En este capítulo aprenderá a trabajar con ellos y comprender cómo estos parámetros USE interactúan con su sistema.

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.