У меня все мои файлы конфигурации выскочки под контролем версий. Мой идеальный способ использовать upstart - создавать мягкие ссылки из моего репозитория управления версиями (mercurial - не то, чтобы это имеет значение) в / etc / init, но upstart не видит задания. Все хорошо, если я копирую файлы из каталога репозитория в / etc / init.
Кто-нибудь знает, почему выскочка не справляется с символическими или даже жесткими ссылками?
Благодарность
Крис
ubuntu-10.04
upstart
Крис МакКоли
источник
источник
/etc/init
и попробуйте использовать жесткие ссылки.Ответы:
Upstart не поддерживает символические ссылки, поскольку они могут указывать на файл в разделе, который не загружается во время загрузки .
Я справился с этим в своем собственном проекте, поместив файлы conf в / etc / init / myscripts и затем связав это с каталогом в моем репозитории.
mount --bind /etc/init/myscripts ~/code/repo/initscripts
,Добавьте это в / etc / fstab, и привязка будет постоянной:
Это эффективно дает вам жестко связанные каталоги. Upstart будет относиться к файлам conf как к любому другому, потому что они локальны для / etc / init. Ваша DVCS также будет видеть их как локальные файлы в репозитории, поэтому она будет также обрабатывать их, как и любые другие файлы, хранящиеся там. Лучшее обоих миров.
источник
Upstart просматривает свои каталоги конфигурации с помощью inotify и перезагружает конфигурацию, когда любой из файлов изменяется или добавляется новый файл. Очевидно это не работает для символических ссылок.
Для ручного обновления конфигурации используйте
источник
Как упоминалось ранее:
Однако, если вы получаете сообщение об ошибке, подобное следующему:
Вы должны вызвать sudo:
источник