Handbook:Parts/Working/USE/es

Las ideas que hay detrás de los ajustes 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 ajuste USE
Comencemos por definir qué son los ajustes USE. Un ajuste USE es una palabra clave que incorpora información de soporte y dependencias para un concepto en concreto. Si define un determinado ajuste 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. 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.

Declarar ajustes USE permanentes
Como ya se ha dicho anteriormente, todos los ajustes USE se declaran dentro de la variable USE. Para simplificar al usuario la tarea de buscar y escoger ajustes USE, ya proporcionamos una configuración predeterminada. Esta configuración es un compendio de ajustes que creemos se utilizan frecuentemente por los usuarios de Gentoo. Dicha configuración predeterminada se declara en los ficheros que forman parte de su perfil.

El perfil al que atiende su sistema lo indica el enlace simbólico. Cada perfil funciona sobre otro, más extenso, y el resultado final es una suma de todos ellos. El perfil más alto es el perfil base.

Para ver los ajustes USE activados (permanentemente), use :

Como puede ver, esta variable contiene bastantes palabras clave. No modifique el fichero para ajustar la variable USE a sus necesidades: ¡Los cambios en estos ficheros se perderán al actualizar el repositorio de Gentoo!

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. En esta variable añada los ajustes 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 ajuste USE en :

Declarar ajustes USE para paquetes específicos
En algunas ocasiones, los usuarios quieren declarar un determinado ajuste USE para una (o un par) de aplicaciones pero no de forma general para todo el sistema. Para conseguir esto, edite. Normalmente es sólo un archivo, sin embargo también puede ser un directorio lleno de archivos subordinados; lea el consejo de abajo y  para obtener más información acerca de cómo usar esta convención. Los siguientes ejemplos asumen que es sólo un archivo.

Por ejemplo, para disponer únicamente de soporte para Blu-ray en el paquete VLC media player:

Por supuesto también puede desactivar el empleo específico de un ajuste USE para una aplicación en concreto. Por ejemplo si no quiere soporte para bzip2 en PHP (pero lo quiere para otros paquetes al declarar ese ajuste USE en ):

Declarar ajustes USE temporales
A veces necesitará utilizar una cierta configuración de USE tan solo una vez. En lugar de editar 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!

En el siguiente ejemplo se elimina temporalmente el valor  de la variable USE durante la instalación de SeaMonkey:

Precedencia
Por supuesto, hay una determinada precedencia respecto a qué configuración tiene prioridad sobre la configuración del USE. La precedencia para la configuración del USE es (el primero tiene la mínima prioridad):
 * 1) Configuración predeterminada de USE declarada en los archivos  de su perfil.
 * 2) Configuración definida por el usuario en
 * 3) Configuración definida por el usuario en
 * 4) Configuración definida por el usuario como variable de entorno

Para ver el valor final de USE tal y como lo verá Portage, ejecute. Se listarán una serie de variables importantes (incluyendo la variable USE ) con sus valores actuales tal como los conoce Portage.

Adaptar su sistema completamente a los nuevos ajustes USE
Si ha cambiado sus ajustes USE y desea actualizar todo su sistema para que utilice el nuevo ajuste, utilice la opción de llamada  :

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 ajustes USE.

Cuando haya finalizado la limpieza, ejecute para recompilar las aplicaciones que están enlazadas dinámicamente con los objetos que proporcionaban los paquetes eliminados. forma parte del paquete ; no olvide instalarlo antes con emerge.

Cuando todo esto haya terminado, su sistema estará utilizando la nueva configuración de los ajustes USE.

Viendo los ajustes USE disponibles
Veamos el ejemplo de seamonkey: ¿Qué ajustes USE influyen sobre él? Para averiguarlo, usamos con las opciones   (simula llevar a cabo la acción) y   (obtener una salida más detallada):

no es la única herramienta disponible para esta labor. De hecho, tenemos una herramienta llamada dedicada a obtener información sobre los paquetes; la cual se encuentra en el paquete. En primer lugar, instale gentoolkit:

Ahora ejecute con el argumento uses para ver los ajustes USE de un paquete en concreto. Por ejemplo, en el caso del paquete gnumeric:

Satisfacer condiciones REQUIRED_USE
Algunos ebuilds obligan o prohíben ciertas combinaciones en los ajustes USE para funcionar correctamente. Estas se expresan mediante un conjunto de condiciones que forman una expresión dentro de REQUIRED_USE. Estas condiciones aseguran que, todas las funciones y dependencias están completas y que la construcción tenga éxito y que todo funcione como se espera. Si alguna condición no se cumple, emerge le avisará y le pedirá que corrija el problema.

A continuación se muestran algunos ejemplos de estas expresiones REQUIRED_USE :