Aus irgendeinem Grund wird bei Apport-Upgrades ein Fehler angezeigt , dessen Ursache darin besteht
% sudo service apport start
start: Job failed to start
Unter sysvinit könnte ich ein solches Problem debuggen, indem ich z
sudo sh -x /etc/init.d/whatever start
aber das scheint nicht zu Upstart zu passen. Was soll ich als nächstes versuchen?
Es stellt sich heraus, dass es eine Problemumgehung gibt, mit der die Installation fortgesetzt werden kann. Aber ich bin immer noch an der allgemeinen Frage interessiert, wie man das Drehbuch nachzeichnen würde.
/var/log/syslog
.Antworten:
Alle folgenden Informationen (und viel mehr nützliche Upstart-Hilfe) stammen aus dem Upstart-Kochbuch . Abschnitt 18 behandelt das Debuggen. http://upstart.ubuntu.com/cookbook/#debugging
In diesem speziellen Fall der Verfolgung einer Zeilengruppe "script" eines Upstart-Jobs sollten Sie die folgenden Zeilen direkt unter dem Wort "script" einfügen:
Der Grund für die ungerade Position ist, dass /dev/.initramfs/ sehr früh vor dem Laden des Root-Dateisystems verfügbar ist und nach dem Start weiterhin verfügbar ist. Ich vermute , mit Apport, aber Sie wahrscheinlich nicht brauchen , diesen Weg zu benutzen. Trotzdem ist es schön, die Option zu kennen.
Es sollte auch beachtet werden, dass alle Skripte mit ausgeführt werden,
set -e
sodass jeder Befehl, der fehlschlägt, das Skript vollständig beendet. Was Sinn macht, da man beim Ausführen von Skripten als root sehr vorsichtig sein sollte.Ich empfehle allen, die mit Upstart-Jobs arbeiten, dringend, das oben verlinkte Upstart-Kochbuch zu konsultieren.
quelle
set -x
wie von Ihnen vorgeschlagen aktiviert wird. Ich habe mich meist gefragt, ob es einen saubereren Weg dafür gibt.setuid
undsetgid
in Jobs verwendet werden.Upstart protokolliert Ihre Dienstausführung in einer Protokolldatei mit demselben Namen in
/var/log/upstart/your-service-name.log
. Es sollte hilfreich sein.quelle
set -x
hätte, würde er wahrscheinlich dort auftauchen.journalctl