Mam wszystkie moje pliki konfiguracji upstart pod kontrolą wersji. Mój idealny sposób na użycie upstart to utworzenie miękkich linków z mojego repozytorium kontroli wersji (mercurial - nie ma to znaczenia) do / etc / init, ale upstart nie widzi zadań. Wszystko jest w porządku, jeśli skopiuję pliki z katalogu repozytorium do / etc / init.
Czy ktoś wie, dlaczego upstart nie obsługuje dowiązań symbolicznych, a nawet twardych?
Dzięki
Chris
ubuntu-10.04
upstart
Chris McCauley
źródło
źródło
/etc/init
, spróbuj użyć twardych linków.Odpowiedzi:
Upstart nie obsługuje dowiązań symbolicznych, ponieważ mogą wskazywać na plik na partycji, który nie jest ładowany podczas uruchamiania .
Poradziłem sobie z tym w swoim własnym projekcie, umieszczając pliki conf w / etc / init / myscripts, a następnie wiążąc je z katalogiem w moim repozytorium.
mount --bind /etc/init/myscripts ~/code/repo/initscripts
.Dodaj to do / etc / fstab, a wiązanie będzie trwałe:
To skutecznie daje ci sztywno powiązane katalogi. Upstart będzie traktował pliki conf jak każdy inny, ponieważ są one lokalne dla / etc / init. Twój DVCS będzie również widział je jako pliki lokalne w repozytorium, więc będzie je traktował tak samo, jak wszystkie inne pliki tam przechowywane. Najlepsze z obu światów.
źródło
Upstart obserwuje katalogi konfiguracyjne z inotify i przeładowuje konfigurację, gdy dowolny plik się zmieni lub zostanie dodany nowy plik. Najwyraźniej nie działa to w przypadku dowiązań symbolicznych.
Aby ręcznie zaktualizować konfigurację, użyj
źródło
Jak wspomniano wcześniej:
Jeśli jednak wystąpi błąd podobny do następującego:
Musisz wywołać sudo:
źródło