El Friday 07 November 2008, Santiago Vila escribió: > On Fri, 7 Nov 2008, xve wrote: > > Hola a todos, > > > > dispongo de un paquete .deb realizado por nosotros, el cual queremos que > > al terminar de instalarse, ejecute un script, pero no lo conseguimos que > > nos funcione. > > > > El fichero postinst contiene: > > ---------------------------------- > > #!/bin/sh > > set -e > > > > echo "Restarting cron...." > > /etc/init.d/cron restart > > > > /etc/file.sh > > ---------------------------------- > > > > El cron lo realiza correctamente, pero el file.sh no lo ejecuta. > > El file.sh tiene derechos de lectura y ejecucion > > ¿Dónde tiene derechos de lectura y ejecución? ¿En el código fuente del > paquete o dentro del .deb? Los derechos de lectura y ejecucion estan en el fichero file.sh que esta dentro del paquete. Dentro del paquete, logicamente tiene derechos de ejecucion.
> > ¿Aparece como ejecutable al hacer "dpkg -c paquete.deb"? Me muestra todos los ficheros que contiene el paquete > > > Hemos probado poniendo: > > ./etc/file.sh > > . /etc/file.sh > > /bin/sh /etc/file.sh > > sh /etc/file.sh > > > > Hemos puesto para ver si da algun resultado: > > /etc/file.sh > /etc/result > > > > Pero de ninguna manera conseguimos que se ejecute. > > ¿Cómo sabes que no se ejecuta? ¿Has puesto esto como primera línea? Sabemos que nos ejecuta, porque en su interior tiene puesto: echo "hola" echo "hola2" > /home/x no vemos hola en la pantalla, y no nos crea el fichero "x" dentro de "/home" > > echo Hola. Soy /etc/file.sh > > ¿Qué sucede si además de usar "set -e" en el postinst pones "set -x" > para que te cuente su vida? He puerto tal como me comentas "set -x", y me indica que lo ejecuta: ---------------------------------- + echo "Restarting cron...." Restarting cron.... + /etc/init.d/cron restart Restarting periodic command sheduler: crond + /etc/file.sh ---------------------------------- aunque realmente no lo ejecuta si instalo el paquete con aptitude install ..., pero si instalo el paquete con dpkg -i sin coger el fichero de un repositorio si que me funciona... muestra lo mismo en pantalla, pero aqui si que lo ejecuta. No entiendo la diferencia¿? > > ¿Tampoco funciona si lo pones en /usr/bin en lugar de /etc? Hace exactamente lo mismo... > > [ Sólo unas cuantas ideas ] Muchas gracias por tu ayuda santiago. -- xve -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]