
En primer lugar, esta es exactamente la misma pregunta que se encontró.aquí, pero las soluciones dadas no funcionaron en mi situación.
Fondo
Estoy ejecutando un VPS CentOS 6 y quiero ejecutar un controlador ZNC en él. Configuré el servicio inicialmente sudo -u znc znc --makeconf
y no tuve problemas. Pude iniciarlo con éxito.
Problema
Sin embargo, fui a reiniciar ZNC e inmediatamente tuve problemas al intentar reiniciar.
# service znc start
Starting znc: /usr/bin/dirname: extra operand `2>&1.pid'
Try `/usr/bin/dirname --help' for more information.
[FAILED]
Comencé a revisar mi guión de inicio para ZNC y, como otros habían señalado en otras fuentes en línea, parece haber un problema con la colocación de un apóstrofe.
. /etc/rc.d/init.d/functions
exec=/usr/bin/znc
prog=znc
config=/var/lib/znc
runas=znc
lockfile=/var/lock/subsys/$prog
start() {
[ -x $exec ] || exit 5
echo -n $"Starting $prog: "
daemon --user $runas "$exec -d $config >/dev/null 2>&1"
# daemon --user $runas --check $exec "$exec -d $config >/dev/null 2>&1"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
Intento de solución
La daemon
línea del start()
método parece ser el problema. Intenté modificarlo a lo siguiente:
daemon --user $runas "$exec" -d $config >/dev/null 2>&1
Sin embargo, modificarlo a esto soluciona el error, pero cuando voy a iniciar ZNC con service znc start
, obtengo una salida en blanco: no se proporciona ninguno [OK]
de los dos . [FAILED]
El servicio finalmente no se inicia y esto lo verifica service znc status
.
Estoy confundido acerca del problema y no estoy seguro de cómo proceder para descubrir la causa del problema. ¡Se agradecen más consejos para la solución de problemas!
Respuesta1
Resolví esto editando la línea ofensiva desde /etc/rc.d/init.d/znc
:
daemon --user $runas "$exec -d $config >/dev/null 2>&1"
a lo siguiente:
daemon --user $runas "$exec -d $config >/dev/null"
(es decir, eliminar la redirección stderr, 2>&1)
Esto ahora me confirma que el servicio se inició correctamente o que falló:
root@localhost [~]# service znc restart
Stopping znc: [FAILED]
Starting znc: [ OK ]
Además, al menos en mi instalación de yum (CentOS 6.7), también tuve que modificar esta línea en el mismo archivo para que apunte al directorio de configuración correcto (línea 12):
config=/var/lib/znc
a:
config=/var/lib/znc/.znc
Antes de esto, znc no podía iniciarse porque no podía encontrar el archivo de configuración que había generado previamente con sudo -H -u znc znc --makeconf
.