Necesito especificar un orden de arranque para que se inicien los procesos. Tengo 389 Directory Server y Samba ejecutándose en Fedora 18. ¿Cómo puedo hacer que los servicios de red arranquen, luego 389 DS y luego Samba? ¿Hay una GUI para administrar esto en Fedora?
He habilitado Samba para empezar systemctl enable smb.service
. También he habilitado 389 DS con systemctl enable dirsrv.target
.
Respuestas:
Use
systemctl edit smb.service
para actualizar las dependencias.After=dirsrv.target
- Asegurará que smb.service se inicie después de dirsrv.target.Para robustez, (lo que valdrá la pena si está jugando con estas cosas) también puede incluir algunos de los siguientes:
Requires=dirsrv.target
- Active dirsrv.target cuando se active smb.service. Hará que smb.service falle si dirsrv.target falla.Wants=dirsrv.target
- Active dirsrv.target cuando se active smb.service. No hará que smb.service falle si dirsrv.target falla.BindsTo=dirsrv.target
- Si dirsrv.target está desactivado, desactive smb.service.Fuente: http://www.freedesktop.org/software/systemd/man/systemd.unit.html
systemd-ui
proporciona una GUI para systemd. Da una buena vista del estado de systemd pero aún tendrá que usar un editor de texto para modificar los archivos de la unidad.fuente
/usr/lib/systemd
versiones de los archivos de la unidad a menos que sea un mantenedor de la distribución o disfrute que sus archivos se sobrescriban en cada actualización del paquete. Copie el archivo de la unidad/etc/systemd
y luego edítelo, o use un archivo desplegable (consulte systemd.unit (5) para más detalles). Aún más fácil, ¡solo usa elsystemctl edit smb.service
que hace la magia del archivo desplegable automáticamente!Haz dos cosas:
Edite el
/lib/systemd/system/smb.service
archivo de la unidad, para especificar la dependencia. La[unit]
sección contiene unaAfter=
línea que especifica qué servicios / objetivos deben alcanzarse antes de este.Cámbielo a:
Informe esta dependencia a Fedora como un error , para que pueda incorporarse en futuras versiones.
fuente
unit
archivos, por lo general debería ejecutarsystemctl daemon-reload
quizás necesite cambiar o incluir una línea con la
Requires
directiva en la[Unit]
sección del/usr/lib/systemd/system/smb.service
archivo.y
fuente
Hay dos alternativas para modificar el archivo de servicio en
/usr/lib/systemd/system
(consulte el Ejemplo 2. Anulación de la configuración del proveedor ):Copie el archivo
/etc/systemd/system
y realice las modificaciones en la copia. Este archivo anulará completamente el archivo en/usr/lib
.Crea el archivo
/etc/systemd/system/smb.service.d/local.conf
. El contenido del archivo debería ser similar al siguiente ejemplo. Esto anula selectivamente las opciones "Requiere" y "Después" en el archivo de servicio proporcionado por el proveedor.Cada uno de estos (incluida la modificación del archivo
/usr/lib
) ofrece ventajas y desventajas. La mejor opción puede depender del servicio y la naturaleza de las modificaciones.Si bien puede funcionar, no es suficiente agregar solo la opción "Después" (ver Opciones de la sección [Unidad] ). "Después" controla el orden, pero no las dependencias. Si
dirsrv.target
no se inicia de otra manera, al especificar un pedido no se iniciará. El uso de la opción "Requiere" o "Deseos" obligarádirsrv.target
a iniciarse.NB: No sé si este enfoque estaba disponible cuando esta pregunta se hizo originalmente.
fuente