El 31/05/07, Javier Ruano <[EMAIL PROTECTED]> escribió:
Iñaki Baz Castillo wrote:
> El 31/05/07, Iñaki Baz Castillo <[EMAIL PROTECTED]> escribió:
>
>> Es decir, por defecto (puesto que ningún script arranca con
>> "start-stop-daemon --oknodo") TODOS los servicios en Debian devuelven
>> 1 (error) si se hace "start" sobre un servicio y arrancado.
>
> Bueno, me he precipitado. Estoy comprobando que no todos los servicios
> lo hacen mal. Por ejemplo SSH devuelve un 1 si le ahces un "start"
> estando ya arrancado (mal hecho) pero Apache devuelve 0. Si acaso
> estoy mandando bugs por paquete que vea que lo hace mal.

/usr/share/doc/debian-policy/policy.html/ch-opersys.html
The init.d scripts must ensure that they will behave sensibly if invoked
with start when the service is already running, or with stop when it isn't,
and that they don't kill unfortunately-named user processes.
The best way to achieve this is usually to use start-stop-daemon.

A mi me funciona bien..

# start-stop-daemon --oknodo  --exec /usr/sbin/sshd --start
/usr/sbin/sshd already running.
# echo $?
0
# start-stop-daemon --exec /usr/sbin/sshd --start
/usr/sbin/sshd already running.
# echo $?
1


Me temo que no has entendido lo que quería decir. Lo que tú dices que
es funcionar bien es precisamente no respetar el LSB:

Si un servicio está funcionando y se intenta ahcer un "start", el
script debería devolver 0 y no 1.
Pero en los servicios de Debian para conseguir ese comportamiento es
necesaria la opción "--oknodo" que MUCHOS servicios NO usan en sus
scripts de init, por lo que no cumplen con la LSB.

Por eso en uno de los bugs que he reportado propongo que el
comportamiento de "start-stop-daemon" sea POR DEFECTO el mismo que
ahora cuando se incluye la opción "--oknodo", y de hecho que esa
opción se elimine porque sería el comportamiento por defecto, lo que
haría que muchos scrips de servicios cumpliesen mejor con la LSB.

Saludos.





--
Iñaki Baz Castillo
<[EMAIL PROTECTED]>

Responder a