J'ai tous mes fichiers de configuration parvenu sous contrôle de version. Ma façon idéale d'utiliser upstart est de créer des liens logiciels à partir de mon référentiel de contrôle de version (mercurial - ce n'est pas important) dans / etc / init mais upstart ne voit pas les travaux. Tout va bien si je copie les fichiers du répertoire du référentiel dans / etc / init.
Quelqu'un sait-il pourquoi un parvenu échoue à gérer les liens symboliques ou même durs?
Merci
Chris
ubuntu-10.04
upstart
Chris McCauley
la source
la source
/etc/init
, essayez d'utiliser des liens matériels.Réponses:
Upstart ne prend pas en charge les liens symboliques car ils peuvent pointer vers un fichier sur une partition qui n'est pas chargée au démarrage .
J'ai contourné cela dans mon propre projet en plaçant les fichiers conf dans / etc / init / myscripts puis en les liant à un répertoire dans mon référentiel.
mount --bind /etc/init/myscripts ~/code/repo/initscripts
.Ajoutez ceci à / etc / fstab et la liaison sera persistante:
Cela vous donne effectivement des répertoires liés en dur. Upstart traitera les fichiers conf comme n'importe quel autre, car ils sont locaux dans / etc / init. Votre DVCS les verra également comme des fichiers locaux dans le référentiel, il les traitera donc également comme tous les autres fichiers qui y sont stockés. Le meilleur des deux mondes.
la source
Upstart surveille ses répertoires de configuration avec inotify et recharge la configuration lorsque l'un des fichiers change ou qu'un nouveau fichier est ajouté. Apparemment, cela ne fonctionne pas pour les liens symboliques.
Pour mettre à jour manuellement la configuration, utilisez
la source
Comme mentionné précédemment:
Cependant, si vous obtenez une erreur comme celle-ci:
Vous devez invoquer le sudo:
la source