Ubuntu 10.04
He creado este script de inicio ( /etc/init/pure-ftpd.conf ):
# pure-ftpd - FTP server
description "Pure-FTPd server"
start on filesystem
stop on runlevel S
respawn
respawn limit 10 5
pid file /var/run/pure-ftpd.pid
console output
pre-start script
test -x /usr/local/sbin/pure-ftpd || { stop; exit 0; }
end script
exec /usr/local/sbin/pure-ftpd --maxclientsnumber 2 --maxclientsperip 10 --prohibitdotfileswrite --prohibitdotfilesread --noanonymous --chrooteveryone --dontresolve --nochmod --pidfile /var/run/pure-ftpd.pid
Pero...
# start pure-ftpd
start: Unknown job: pure-ftpd
y
# service pure-ftpd start
start: Unknown job: pure-ftpd
¿Cuál es el problema?
¿Es necesario hacer algo más?
¿Es necesario crear un script en /etc/init.d también?
Respuestas:
Por lo general, significa que tiene un error en el
.conf
archivo; por ejemplo, no estoy seguro de que lapid
estrofa sea compatible con 10.04,stop
no se pueda usar en el script, etc.Intentaba comenzar el archivo desde cero (con solo
start
,stop
etc.), y luego construirlo lentamente agregando más y más líneas y probándolostart pure-ftpd
.Por ejemplo:
fuente
pid
estrofa se ha eliminado desde la versión0.5.0 2008-08-12 "One of those deaf-mutes"
. No lo usesTambién puede ejecutar
init-checkconf
para verificar la sintaxisfuente
start
comando para que le dé un mensaje de error más informativo ...Primero, puede verificar que su trabajo realmente sea conocido por advenedizo:
... donde
your_job_name
está el nombre de su script de inicio menos la.conf
extensión.Si no se encuentra, puede intentar volver a cargar la configuración y luego volver a verificar:
Luego intente nuevamente para comenzar su trabajo:
Si no estaba iniciando sesión
/var/log/daemon.log
o/var/log/syslog
antes, es posible que tenga algunos ahora.fuente
La referencia más relevante para la sintaxis del archivo de trabajo estará disponible cuando ejecute el comando:
en su sistema Para Ubuntu 10.04, como encontraste en la respuesta anterior, la sintaxis del archivo pid es incorrecta.
Cada vez que recuperas el error de "trabajo desconocido", es una buena idea revisar los registros (antes del 11.04, /var/log/daemon.log, 11.04 y superior, todo va en / var / log / syslog)
Puede ver un error como este:
fuente
De todos modos, estoy aquí porque tuve el mismo problema, pero mi sintaxis era 100% correcta.
Después de algunas depuraciones descubrí otro problema que puede causar este error de " Trabajo desconocido" :
upstarts usa inotify para monitorear cambios de archivos .conf y trabajos de instalación automática, esto es muy bueno (¡para esto no necesita algo como update.rc con upstart!) pero puede no ser perfecto si usted (como yo en ese caso) usa algunos programas FTP / SCP GUI para cargar y editar configuraciones en servidores remotos, el trabajo puede desinstalarse silenciosamente al inicio cuando edita el archivo de esa manera.
para arreglar, simplemente haz eso (eso me salvó)
generará eventos de inotify para actualizar todas las confs iniciales.
fuente
Tuve el mismo problema en mis contenedores Docker de Ubuntu 14.04. Como resultado, la imagen de Ubuntu 14.04 (si no otras) para Docker no es compatible con Upstart de la misma manera que lo haría una máquina virtual completa.
Para responder a esta pregunta, por qué el servicio no se inicia, es porque initctl no es un programa Upstart real: está asignado a / bin / true.
Para verificar, ejecute lo siguiente en un contenedor Docker de Ubuntu 14.04 vs. Vagrant y vs. una gota de DigitalOcean
Verá que initctl no es lo mismo en Docker frente a los demás.
Un enlace que puede mejorar su comprensión. Https://github.com/docker/docker/issues/1024
fuente