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 |