Handbook:Parts/Working/EnvVar/es

Introducción
Una variable de entorno es un objeto designado para contener información usada por una o más aplicaciones. Algunos usuarios (especialmente aquellos nuevos en Linux) encuentran esto un poco extraño o inmanejable. Sin embargo esto no es cierto: usando variables de entorno hace que cualquiera pueda cambiar una opción de configuración para una o más aplicaciones fácilmente.

Ejemplos Importantes
La siguiente tabla muestra un listado de variables de entorno usado por un sistema Linux y describe su uso. Valores de ejemplo se muestran después de la tabla.

A continuación puedes encontrar ejemplos de definiciones para todas estas variables:

Ejemplos de asignaciones para las variables mencionadas

El directorio /etc/env.d
Para centralizar la definición de estas variables, Gentoo introduce el directorio. Dentro de este directorio se encuentran varios ficheros como por ejemplo 00basic, 05gcc, etc. los cuales contienen las variables necesarias para la aplicación de la cual llevan el nombre.

Por ejemplo, al instalar gcc, un fichero llamado 05gcc que contiene la definición de las siguientes variables, fue creado por el ebuild:

Other distributions might tell their users to change or add such environment variable definitions in or other locations. Gentoo on the other hand makes it easy for the user (and for portage) to maintain and manage the environment variables without having to pay attention to the numerous files that can contain environment variables.

For instance, when gcc is updated, the file is updated too without requesting any user-interaction.

This not only benefits portage, but also the user. Occasionally users might be asked to set a certain environment variable system-wide. As an example we take the http_proxy variable. Instead of messing about with, users can now just create a file (say ) and enter the definition(s) in it:

By using the same file for all self-managed variables, users have a quick overview on the variables they have defined themselves.

env-update
Several files in define the PATH variable. This is not a mistake: when  is executed, it will append the several definitions before it updates the environment variables, thereby making it easy for packages (or users) to add their own environment variable settings without interfering with the already existing values.

The env-update script will append the values in the alphabetical order of the files. The file names must begin with two decimal digits.

Update order used by env-update

The concatenation of variables does not always happen, only with the following variables: ADA_INCLUDE_PATH, ADA_OBJECTS_PATH, CLASSPATH, KDEDIRS, PATH, LDPATH, MANPATH, INFODIR, INFOPATH, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK, PRELINK_PATH, PRELINK_PATH_MASK, PKG_CONFIG_PATH and PYTHONPATH. For all other variables the latest defined value (in alphabetical order of the files in ) is used.

It is possible to add more variables into this list of concatenate-variables by adding the variable name to either COLON_SEPARATED or SPACE_SEPARATED variables (also inside an file).

When executing, the script will create all environment variables and place them in  (which is used by ). It will also extract the information from the LDPATH variable and use that to create. After this, it will run  to recreate the  file used by the dynamical linker.

To notice the effect of env-update immediately after running it, execute the following command to update the environment. Users who have installed Gentoo themselves will probably remember this from the installation instructions:

User specific
It might not be necessary to define an environment variable globally. For instance, one might want to add and the current working directory (the directory the user is in) to the PATH variable but don't want all other users on the system to have that in their PATH too. To define an environment variable locally, use or :

After logout/login, the PATH variable will be updated.

Session specific
Sometimes even stricter definitions are requested. For instance, a user might want to be able to use binaries from a temporary directory created without using the path to the binaries themselves or editing for the short time necessary.

In this case, just define the PATH variable in the current session by using the  command. As long as the user does not log out, the PATH variable will be using the temporary settings.