Pour une raison quelconque, je reçois une erreur lors de la mise à niveau de la ventilation , dont la cause est
% sudo service apport start
start: Job failed to start
Sous sysvinit, je pourrais résoudre ce genre de problème en exécutant par exemple
sudo sh -x /etc/init.d/whatever start
mais cela ne semble pas mapper vers Upstart. Que devrais-je essayer ensuite?
Il s'avère qu’il existe une solution permettant de poursuivre l’installation. Mais je suis toujours intéressé par la question générale de savoir comment on pourrait tracer le script.
/var/log/syslog
.Réponses:
Toutes les informations suivantes (et une aide beaucoup plus utile pour Upstart) proviennent de The Upstart Cookbook . La section 18 couvre le débogage. http://upstart.ubuntu.com/cookbook/#debugging
Dans ce cas particulier de traçage d'une strophe "script" d'un travail Upstart, vous devez ajouter les lignes suivantes juste en dessous du mot "script":
La raison de cet emplacement impair est que /dev/.initramfs/ est disponible très tôt au démarrage, avant le chargement du système de fichiers racine, et continue à être disponible après l’amorçage. J'imagine que avec quot, cependant, vous n'avez probablement pas besoin d'utiliser ce chemin. Néanmoins, il est bon de connaître l'option.
Il convient également de noter que tous les scripts sont exécutés avec
set -e
toutes les commandes qui échouent. Ce qui est logique, car il faut être très prudent lorsque vous exécutez des scripts en tant que root.Je recommande fortement de consulter le livre de recettes Upstart lié ci-dessus en général à quiconque travaille avec des tâches Upstart.
la source
set -x
comme vous le suggérez. Je me demandais surtout s'il y avait une façon plus propre de le faire.setuid
etsetgid
sont utilisés dans des travaux.Upstart enregistre l’exécution de votre service dans un fichier journal portant le même nom dans
/var/log/upstart/your-service-name.log
. Ça devrait être utile.la source
set -x
cela apparaîtrait probablement là-bas.journalctl