Tengo todos mis archivos de configuración de arranque bajo control de versiones. Mi forma ideal de usar el sistema de arranque es crear enlaces suaves desde mi repositorio de control de versiones (mercurial, no es que importe) en / etc / init pero el arranque no puede ver los trabajos. Todo está bien si copio los archivos del directorio del repositorio a / etc / init.
¿Alguien sabe por qué el advenedizo no puede manejar enlaces simbólicos o incluso duros?
Gracias
Chris
ubuntu-10.04
upstart
Chris McCauley
fuente
fuente
/etc/init
, intente usar enlaces duros.Respuestas:
Upstart no admite enlaces simbólicos porque pueden apuntar a un archivo en una partición que no se carga en el momento del arranque .
He solucionado esto en mi propio proyecto al poner los archivos conf en / etc / init / myscripts y luego vincularlos a un directorio en mi repositorio.
mount --bind /etc/init/myscripts ~/code/repo/initscripts
.Agregue esto a / etc / fstab y el enlace será persistente:
Esto efectivamente le proporciona directorios vinculados. Upstart tratará los archivos conf como cualquier otro, porque son locales para / etc / init. Su DVCS también los verá como archivos locales en el repositorio, por lo que también los tratará como a cualquier otro archivo almacenado allí. Lo mejor de ambos mundos.
fuente
Upstart observa sus directorios de configuración con inotify y vuelve a cargar la configuración cuando alguno de los archivos cambia o se agrega un nuevo archivo. Aparentemente esto no funciona para enlaces simbólicos.
Para actualizar manualmente la configuración, use
fuente
Como se mencionó antes:
Sin embargo, si obtiene un error como el siguiente:
Debes invocar el sudo:
fuente