Solución 1:
Usa systemctl edit smb.service para actualizar las dependencias.
After=dirsrv.target - Se asegurará de que smb.service se inicie después de dirsrv.target.
Para mayor solidez (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 smb.service esté activado. Hará que smb.service falle si dirsrv.target falla.
Wants=dirsrv.target - Active dirsrv.target cuando smb.service esté activado. 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. Ofrece una buena vista del estado de systemd, pero aún tendrá que usar un editor de texto para modificar los archivos de la unidad.
Solución 2:
Haz dos cosas:
-
Edite el
/lib/systemd/system/smb.serviceunit, para especificar la dependencia. El[unit]la sección contiene unAfter=línea que especifica qué servicios/objetivos se deben alcanzar antes de este.After=syslog.target network.target nmb.service winbind.serviceCámbialo por:
After=dirsrv.target syslog.target network.target nmb.service winbind.service -
Informe esta dependencia a Fedora como un error, para que pueda incorporarse en versiones futuras.
Solución 3:
tal vez necesite cambiar o incluir una línea con el Requires directiva en el [Unit] sección del /usr/lib/systemd/system/smb.service archivo.
Requires=dirsrv.target
y
After=dirsrv.target
Solución 4:
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 a
/etc/systemd/systemy realizar 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 debe ser algo como el ejemplo a continuación. Esto anula selectivamente las opciones "Requiere" y "Después" en el archivo de servicio proporcionado por el proveedor.
Cada uno de estos (incluyendo la modificación del archivo en /usr/lib ) ofrece ventajas y desventajas. La mejor elecció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 forma, no se iniciará especificando una orden. El uso de la opción "Requiere" o "Quiere" forzará dirsrv.target para ser iniciado.
[Unit]
Requires=dirsrv.target
After=dirsrv.target
NB:no sé si este enfoque estaba disponible cuando se hizo esta pregunta originalmente.