1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
|
<?xml version='1.0' encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "../../dtd/guide.dtd">
<guide link = "/doc/es/env.d-howto.xml">
<title>HOWTO para env.d</title>
<author title="Author"><mail link="zhen@gentoo.org">John P. Davis</mail></author>
<author title="Editor"><mail link="bass@gentoo.org">José Alberto Suárez López</mail></author>
<author title="Traductor"><mail link="chiguire@gentoo.org">John Christian Stoddart</mail></author>
<abstract>
Esta guía explicará el significado y el uso del directorio <path>/etc/env.d</path> y su contenido.
</abstract>
<version>1.4.1</version>
<date>12 de diciembre 2002</date>
<chapter>
<title>Introducción a <c>env.d</c> y Variables Genéricas</title>
<section>
<title>Variables de Entorno Básicas de Gentoo</title>
<body>
<p>Una de las preguntas más comunes que hacen los usuarios de Gentoo es "¿dónde están mis variables de entorno y qué son?". Para comprender esta pregunta debemos primero saber qué es una variable de entorno. Estas se establecen cuando usamos el comando <c>export</c>. Por ejemplo, si fuera a escribir <c>export EDITOR="/usr/sbin/vim"</c> estaría estableciendo una variable de entorno que notificará al sistema que su editor por defecto es vim. Hay muchos tipos distintos de variables de entorno que se pueden fijar en su sistema Gentoo, como por ejemplo:</p>
<note>El comando <c>export</c> fijará la variable de entorno en la shell *y* todos sus subprocesos. Si desea fijar una variable de entorno sin afectar a los subprocesos, escriba <i>FOO="bar"</i>.</note>
<note>Su archivo <i>00basic</i> podrá ser distinto. Esto no es un problema, ya que estas variables son las que están incluidas por defecto en Gentoo. </note>
<info>Estos ejemplos se encontrarán en el archivo <path>/etc/env.d/00basic</path>.</info>
<table>
<tr><th>Variable</th><th>Función</th></tr>
<tr><ti>PATH</ti><ti>Esta fija el path por defecto donde están ubicados los programas. Los directorios se delimitan con un caracter ':'. Podría verse así <c>PATH=/usr/local/bin:/opt/bin </c>.</ti></tr>
<tr><ti>ROOTPATH</ti><ti>Esta variable es parecida a la anterior, pero fija el path por defecto para programas del usuario <c>root</c>. Un ejemplo sería <c>ROOTPATH=/usr/local/bin:/opt/bin</c>.</ti></tr>
<tr><ti>LDPATH</ti><ti>Esta variable especifica el path de librería para linkar. También delimitado por ':'. Un ejemplo sería <c>LDPATH=/usr/local/lib</c>.</ti></tr>
<tr><ti>MANPATH</ti><ti>Especifica donde están guardadas las manpages de su máquina. Es parecido a <i>PATH</i>,
pero para los manpages. Un ejemplo sería <c>MANPATH=/usr/share/man:/usr/local/share/man</c>.
</ti></tr>
<tr><ti>INFODIR</ti><ti>Fija donde están guardados sus archivos info. Por ejemplo <c>INFODIR=/usr/share/info</c>.</ti></tr>
<tr><ti>PAGER</ti><ti>Fija el pager a usar, bien sea less o more. Un ejemplo podría ser <c>PAGER=/usr/bin/less</c>.</ti></tr>
<tr><ti>EDITOR</ti><ti>Fija el editor por defecto para el sistema. Se vería algo así: <c>EDITOR=/usr/bin/vim</c>.</ti></tr>
</table>
<p>Este es un ejemplo del archivo <i>00basic</i>. Si se daña su <c>00basic</c>, ¡puede usar este!</p>
<pre caption = "00basic">
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/env.d/00basic,v 1.6 2002/06/20 22:07
:37 azarah Exp $
PATH=/usr/local/bin:/opt/bin
ROOTPATH=/usr/local/bin:/opt/bin
LDPATH=/usr/local/lib
MANPATH=/usr/share/man:/usr/local/share/man
INFODIR=/usr/share/info
CVS_RSH=ssh
PAGER=/usr/bin/less
EDITOR=/usr/bin/vim
LESSOPEN="|lesspipe.sh %s"
</pre>
</body>
</section>
<section>
<title>Formato del directorio env.d</title>
<body>
<p>Los archivos dentro de <c>env.d</c> están dispuestos en un órden lógico, así que al ejecutar <c>env-update</c> éste ordenará las variables correctamente. Los números que anteceden a los archivos forzan el órden en que son analizados, de forma que <i>00basic</i> iría primero, luego <i>01algo</i>, etc. El contenido de los archivos debe seguir un formato específico:</p>
<pre caption = "Formato del Contenido">
<comment># Este es un comentario, como en BASH</comment>
<i>VARIABLE1=/camino/a/algo</i>
<comment># Algunas de las variables aceptan argumentos delimitados con ':'.</comment>
<i>VAR1A=/camino/a/algo:/camino/a/otra/cosa</i>
<i>VARIABLE2=un_nombre_cualquiera</i>
</pre>
</body>
</section>
</chapter>
<chapter>
<title>Variables Especiales y Como se Une Todo</title>
<section>
<title>Variables Especiales</title>
<body>
<p>Existen variables especiales incluidas en <c>env.d </c>. Estos incluyen : <i>KDEDIRS, PATH, CLASSPATH, LDPATH, MANPATH, INFODIR, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK</i>. Son especiales porque se procesan de manera especial colocándose en archivos especiales, que se explicarán más adelante.</p>
<note>Algunas de las variables mencionadas a continuación están mencionadas también en <i>00basic</i>. Esto está bien ya que se pueden usar más de una vez en archivos distintos, más de lo cual explicaré a continuación.</note>
<table>
<tr><th>Variable</th><th>Función</th></tr>
<tr><ti>KDEDIRS</ti><ti>Este es el path para los archivos de KDE. </ti></tr>
<tr><ti>PATH</ti><ti>Mencionado anteriormente, delimitado con ':', (ver arriba).</ti></tr>
<tr><ti>CLASSPATH</ti><ti>Fija el path de los clases Java, delimitado con ':'.</ti></tr>
<tr><ti>LDPATH</ti><ti>Antes mencionado (ver arriba).</ti></tr>
<tr><ti>MANPATH</ti><ti>Antes mencionado (ver arriba), delimitado con ':'.</ti></tr>
<tr><ti>INFODIR</ti><ti>Antes mencionado (ver arriba), delimitado con ':'.</ti></tr>
<tr><ti>ROOTPATH</ti><ti>Previously mentioned (see above), ':' delimited.</ti></tr>
<tr><ti>CONFIG_PROTECT</ti><ti>Especifica cuales archivos de configuración en <path>/etc</path> que se desea proteger de nuevos ebuilds, los argumentos se delimitan con espacios en blanco.</ti></tr>
<tr><ti>CONFIG_PROTECT_MASK</ti><ti>Esta es básicamente lo contrario de CONFIG_PROTECT desprotegiendo ciertos archivos en <path>/etc</path> que desea que cambien automáticamente durante el proceso de emerge.</ti></tr>
</table>
</body>
</section>
<section>
<title>Uniendo el Conjunto</title>
<body>
<p>Bien, ahora que he definido todo, probablemente se está preguntando qué tiene esto que ver con usted y su máquina Gentoo. El poder de <i>env.d </i> es el de cambiar estas variables allí definidas a lo que requiera. Con las definiciones explicadas arriba esperemos que pueda hacer esto.</p>
<p>Ya que tenemos una idea acerca de esto, es hora de explicar qué ocurre con estas variables. Al ejecutar el comando <c>env-update </c>, éste une a todos estos archivos en órden. Acuérdese cuando dije que no había problema en tener múltiples variables tipo <i>PATH</i> siempre y cuando estén en distintos archivos. Esto es porque <c>env-update</c> procesará los archivos en secuencia concatenando los paths. Asi que, si tiene un <i>PATH</i> para KDE, GNOME, su <i>PATH</i> por defecto y uno para X, el comando <c>env-update </c> los unirá para que su <i>PATH</i> por defecto, en última instancia, sea la combinación de todos aquellos previamente definidos. Chévere, ¿no?</p>
<p>Ya que estas variables están ahora unidas, es importante notar dónde están guardadas.</p>
<note>Los siguientes archivos se crean al ejecutar <c>env-update</c></note>
<pre caption = "Archivos creados al procesar el contenido de env.d">
<i>LDPATH ----> /etc/ld.so.conf</i>
<i>CONFIG_PROTECT and CONFIG_PROTECT_MASK ----> /etc/profile.env (como variables exportados)</i>
<i>Especiales y Otras ----> /etc/profile.env </i>
</pre>
<p>Si examina <path>/etc/ld.so.conf</path>, puede verse claramente que <i>env.d</i> fue el origen de la información <!-- allí --> allí contenida.</p>
<pre caption = "/etc/ld.so.conf">
# ld.so.conf generado automáticamente por env-update; haga todos sus cambios
# al contenido del directorio /etc/env.d
/usr/local/lib
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2
/usr/lib/opengl/nvidia/lib
/usr/lib/mozilla
/usr/X11R6/lib
/opt/blackdown-jdk-1.3.1/jre/lib/i386/
/opt/blackdown-jdk-1.3.1/jre/lib/i386/native_threads/
/usr/qt/3/lib
/usr/qt/2/lib
/usr/kde/3/lib
</pre>
<p>Es bueno saber que <path>/etc/profile.env</path> es igual que su shell.env (o tal vez <i>csh.env</i> o <i>bash.env</i>). Es bueno porque ahora puede usar todas las variables en su shell la próxima vez que la use.</p>
<pre caption = "Secuencia de eventos al ejecutar env-update">
<i>configuración /etc/env.d ----env-update----> /etc/profile.env ---> /etc/profile
---> bash ---> todos sus programas</i>
</pre>
<p>Ahora que tiene un <i>profile.env</i>, debería parecerse algo como:</p>
<pre caption = "/etc/profile.env">
export CONFIG_PROTECT='/usr/kde/3/share/config /usr/share/config'
export KDEDIRS='/usr/kde/3:/usr'
export MANPATH='/usr/share/man:/usr/local/share/man:/usr/X11R6/man:/opt/blackdown-jdk-1
.3.1/man'
export INFODIR='/usr/share/info:/usr/X11R6/info'
export PATH='/usr/local/bin:/opt/bin:/opt/rar/bin:/usr/X11R6/bin:/opt/blackdown-jdk-1.3
.1/bin:/opt/blackdown-jdk-1.3.1/jre/bin:/usr/qt/3/bin:/usr/qt/2/bin:/usr/kde/3/bin'
export CONFIG_PROTECT_MASK='/etc/gconf'
export CLASSPATH='/opt/blackdown-jdk-1.3.1/jre/lib/rt.jar:.'
export ROOTPATH='/usr/local/bin:/opt/bin:/opt/rar:/usr/X11R6/bin:/opt/blackdown-jdk-1.3
.1/bin:/opt/blackdown-jdk-1.3.1/jre/bin:/usr/qt/3/bin:/usr/qt/2/bin:/usr/kde/3/bin'
export KDEDIR='/usr/kde/3'
export VIMRUNTIME='/usr/share/vim/vim61'
export JDK_HOME='/opt/blackdown-jdk-1.3.1'
export JAVAC='/opt/blackdown-jdk-1.3.1/bin/javac'
export PAGER='/usr/bin/less'
export HOSTNAME='l00ser.muc.edu'
export QMAKESPEC='linux-g++'
export LESSOPEN='|lesspipe.sh %s'
export CVS_RSH='ssh'
export EDITOR='/usr/bin/vim'
export QTDIR='/usr/qt/3'
export JAVA_HOME='/opt/blackdown-jdk-1.3.1'
export XINITRC='/etc/X11/xinit/xinitrc'
export MOZILLA_FIVE_HOME='/usr/lib/mozilla'
</pre>
<p>Bien, esto es todo lo que tengo que decir, así que, puede ir a divertirse y ¡trate de no romper demasiado!</p>
<!-- faltan bastantes exclamaciones por abrir -->
</body>
</section>
</chapter>
</guide>
|