Gentoo Archives: gentoo-user-es

From: "d2clon@×××××××××××××××.org" <d2clon@×××××××××××××××.org>
To: gentoo-user-es@l.g.o
Subject: Re: [gentoo-user-es] conflicto con las variables de entorno y demonios de arranque
Date: Mon, 17 May 2004 18:14:29
Message-Id: 200405172010.09674.d2clon@desarrolladores.org
In Reply to: Re: [gentoo-user-es] conflicto con las variables de entorno y demonios de arranque by davidgn@servidor.unam.mx
1 On Monday 17 May 2004 19:23, davidgn@×××××××××××××.mx wrote:
2
3 gracias por tus comentarios.. a ver..
4
5 >
6 > Ah! Orale! el problema es este:
7 >
8 > su -
9 > abre un shell con login, lo que borra todas tus variables para que este en
10 > blanco el nuevo shell y solo con lo que inicie en los profiles del usuario.
11
12 solo los profiles del usuario??
13 y el /etc/profile no?
14 y el /etc/profile.env ??
15
16
17 >
18 > Cuando encierras una variable entre comillas dobles, el shell la traduce,
19 > de modo que por ejemplo, esta llamada:
20 >
21 > davidgn]$ export valor="hey"
22 > davidgn]$ su - -c "echo valor=$valor"
23 > valor=hey
24 >
25 >
26 > Jala, y es equivalente a
27 >
28 > su - -c "echo valor=valor"
29 >
30 > pero si llamas
31 > davidgn]$ su - -c 'echo valor=$valor'
32 > valor=
33 >
34 > ya ves que no sale.
35
36 valla paranoia con las comillitas del demonio
37
38
39 >
40 > No estoy seguro de lo que voy a decir, pero probablemente es posible
41 > decirle a "su - " que te inicialice un shell de login con una variable
42 > extra.
43 >
44 > puedes hacer algo mejor como:
45 >
46 > su - -c "var=$var; /etc/init.d/tomcat4 start"
47
48 buf esto sería muy duro..
49 declarar el valor de la variable ahi.. precisamente las varibles de entorno
50 estan afuera de todas partes.. para si se modifica su valor.. repercuta en
51 todas las partes donde se use..
52
53 >
54 > eso debería resolver tu problema.
55 >
56 > otra cosa es poner tu variable de java en algun archivo de inicialización
57 > para el shell, como /etc/profile o algún otro lado.
58
59 claro.. si la tengo declarada en
60 /etc/env.d/21tomcat:
61 =================================0
62 JAVA_HOME=/opt/sun-jsdk-1.4.2_04
63 =================================0
64
65 si .. fijate.. si hago un
66 su - ${CATALINA_USER}
67
68 =================================0
69 linuxready root # su - ${CATALINA_USER}
70 tomcat@linuxready tomcat $ set | grep JAVA_HOME
71 ENV_VARS='JAVA_HOME JDK_HOME JAVAC ADDPATH ADDLDPATH MANPATH'
72 JAVA_HOME=/opt/sun-jsdk-1.4.2_04
73 =================================0
74
75 ahi esta la variable de entorno..
76
77 mira esta prueba demuestra que el su - no es el problema.. el problema es el
78 -c ese si que parece que genera una shell nueva sin variables de entorno ni
79 nada.. o mejor dicho, como se verá mas tarde.. es la union de los 2..
80
81 fijate como si ejecuto el comando con su - <user> -c"<script>" .. falla por
82 variables de entorno .. pero si hago primero un su - <user> .. y luego
83 <script> va bien::
84 ================================================================0
85 linuxready root # su - tomcat -c "/opt/jakarta-tomcat-5.0.24/bin/catalina.sh
86 start"
87 The JAVA_HOME environment variable is not defined
88 This environment variable is needed to run this program
89 linuxready root # su - tomcat
90 tomcat@linuxready tomcat $ /opt/jakarta-tomcat-5.0.24/bin/catalina.sh start
91 Using CATALINA_BASE: /opt/jakarta-tomcat-5.0.24
92 Using CATALINA_HOME: /opt/jakarta-tomcat-5.0.24
93 Using CATALINA_TMPDIR: /opt/jakarta-tomcat-5.0.24/temp
94 Using JAVA_HOME: /opt/sun-jsdk-1.4.2_04
95 ==================================================================0
96
97
98 y si .. quitamos el - del su.. tambien va bien
99 =================================0
100 linuxready root # su tomcat -c "/opt/jakarta-tomcat-5.0.24/bin/catalina.sh
101 start"
102 Using CATALINA_BASE: /opt/jakarta-tomcat-5.0.24
103 Using CATALINA_HOME: /opt/jakarta-tomcat-5.0.24
104 Using CATALINA_TMPDIR: /opt/jakarta-tomcat-5.0.24/temp
105 Using JAVA_HOME: /opt/sun-jsdk-1.4.2_04
106 =================================0
107
108
109
110 asi.. que es lo que he hecho.. he modificado el script de arranque
111 del /init.d/tomcat.. y le he quitado el - a todos los su.. no se que
112 problemas colaterales me creará esto.. pero por lo menos..
113 puedo arrancar el demonio..
114
115
116 gracias por los comentarios
117 d2clon
118
119
120
121
122
123
124
125
126 >
127 > -------------------------------------------------
128 > www.correo.unam.mx
129 > UNAMonos Comunicándonos
130 >
131 >
132 > --
133 > gentoo-user-es@g.o mailing list
134
135
136 --
137 gentoo-user-es@g.o mailing list