Por alguna razón, recibo un error durante las actualizaciones de apport , cuya causa es
% sudo service apport start
start: Job failed to start
Bajo sysvinit, podría depurar este tipo de problema ejecutando, por ejemplo
sudo sh -x /etc/init.d/whatever start
pero eso no parece corresponder a Upstart. ¿Qué debería probar a continuación?
Resulta que hay una solución que permitirá que la instalación continúe. Pero todavía estoy interesado en la pregunta general de cómo se puede rastrear el guión.
/var/log/syslog
.Respuestas:
Toda la siguiente información (y mucha más ayuda útil de Upstart) proviene de The Upstart Cookbook . La sección 18 cubre la depuración. http://upstart.ubuntu.com/cookbook/#debugging
En este caso específico de rastreo de una estrofa "script" de un trabajo Upstart, debe agregar las siguientes líneas justo debajo de la palabra "script":
La razón de la ubicación extraña es que /dev/.initramfs/ está disponible en el arranque muy temprano, antes de que se cargue el sistema de archivos raíz, y continúa estando disponible después del arranque. Supongo que con apport, sin embargo, probablemente no necesites usar esa ruta. Aún así, es bueno saber la opción.
También se debe tener en cuenta que todas las secuencias de comandos se ejecutan con
set -e
cualquier comando que falle, se cerrará por completo. Lo cual tiene sentido, ya que uno debe tener mucho cuidado al ejecutar scripts como root.Recomiendo consultar el libro de cocina Upstart vinculado anteriormente en general para cualquier persona que trabaje con trabajos de Upstart.
fuente
set -x
como usted sugiere. Sobre todo me preguntaba si había alguna forma más limpia de hacerlo.setuid
ysetgid
se utilizan en puestos de trabajo.Upstart registra la ejecución de su servicio en un archivo de registro con el mismo nombre
/var/log/upstart/your-service-name.log
. Debería ser útil.fuente
set -x
, probablemente aparecería allí.journalctl