Ich habe alle meine Upstart-Konfigurationsdateien unter Versionskontrolle. Mein idealer Weg, um upstart zu verwenden, besteht darin, weiche Links aus meinem Versionskontroll-Repository (mercurial - nicht wichtig) in / etc / init zu erstellen, aber upstart sieht die Jobs nicht. Alles ist in Ordnung, wenn ich die Dateien aus dem Repository-Verzeichnis nach / etc / init kopiere.
Weiß jemand, warum Emporkömmling nicht mit symbolischen oder sogar harten Links umgehen kann?
Vielen Dank
Chris
ubuntu-10.04
upstart
Chris McCauley
quelle
quelle
/etc/init
, versuchen Sie auf jeden Fall, feste Links zu verwenden.Antworten:
Upstart unterstützt keine Symlinks, da diese möglicherweise auf eine Datei auf einer Partition verweisen, die beim Booten nicht geladen wird .
Ich habe dies in meinem eigenen Projekt umgangen, indem ich die conf-Dateien in / etc / init / myscripts abgelegt und diese dann an ein Verzeichnis in meinem Repository gebunden habe.
mount --bind /etc/init/myscripts ~/code/repo/initscripts
.Fügen Sie dies zu / etc / fstab hinzu und die Bindung bleibt bestehen:
Auf diese Weise erhalten Sie effektiv fest verknüpfte Verzeichnisse. Upstart behandelt die conf-Dateien wie alle anderen, da sie lokal für / etc / init sind. Ihr DVCS sieht sie auch als lokale Dateien im Repo und behandelt sie daher genauso wie alle anderen dort gespeicherten Dateien. Beste aus beiden Welten.
quelle
Upstart überwacht seine Konfigurationsverzeichnisse mit inotify und lädt die Konfiguration neu, wenn sich eine der Dateien ändert oder eine neue Datei hinzugefügt wird. Anscheinend funktioniert dies nicht für Symlinks.
Um die Konfiguration manuell zu aktualisieren, verwenden Sie
quelle
Wie schon erwähnt:
Wenn Sie jedoch einen Fehler wie den folgenden erhalten:
Sie müssen das sudo aufrufen:
quelle