Muszę określić kolejność rozruchu, aby procesy mogły się uruchomić. Mam 389 Directory Server i Sambę na Fedorze 18. Jak mogę uruchomić usługi sieciowe, potem 389 DS, a potem Samba? Czy istnieje interfejs GUI do zarządzania tym w Fedorze?
Włączyłem Sambę na początek systemctl enable smb.service
. Włączyłem również 389 DS z systemctl enable dirsrv.target
.
Odpowiedzi:
Służy
systemctl edit smb.service
do aktualizowania zależności.After=dirsrv.target
- Zapewni uruchomienie usługi smb.service po dirsrv.target.Aby uzyskać solidność (która będzie warta, jeśli będziesz majstrować przy tych rzeczach), możesz również chcieć uwzględnić niektóre z poniższych:
Requires=dirsrv.target
- Aktywuj dirsrv.target, gdy aktywowana jest usługa smb. Powoduje błąd smb.service, jeśli dirsrv.target zawiedzie.Wants=dirsrv.target
- Aktywuj dirsrv.target, gdy aktywowana jest usługa smb. Nie spowoduje niepowodzenia usługi smb.service, jeśli dirsrv.target zawiedzie.BindsTo=dirsrv.target
- Jeśli dirsrv.target jest wyłączony, dezaktywuj usługę komuś.Źródło: http://www.freedesktop.org/software/systemd/man/systemd.unit.html
systemd-ui
zapewnia GUI dla systemd. Daje dobry obraz stanu systemu, ale nadal będziesz musiał użyć edytora tekstu, aby zmodyfikować pliki jednostek.źródło
/usr/lib/systemd
wersji plików jednostkowych, chyba że jesteś opiekunem dystrybucji lub podobają ci się pliki nadpisywane przy każdej aktualizacji pakietu. Skopiuj plik jednostki do,/etc/systemd
a następnie edytuj, lub użyj pliku rozwijanego (szczegółowe informacje można znaleźć w pliku systemd.unit (5)). Jeszcze łatwiejsze, wystarczy użyć,systemctl edit smb.service
który automatycznie uruchamia magię plików!Wykonaj dwie rzeczy:
Edytuj
/lib/systemd/system/smb.service
plik jednostki, aby określić zależność.[unit]
Sekcja zawieraAfter=
wiersz, który określa, jakie usługi / cele powinny zostać osiągnięte przed tym.Zmień na:
Zgłoś tę zależność z powrotem do Fedory jako błąd , aby można ją było włączyć w przyszłych wydaniach.
źródło
unit
plików zwykle powinieneś uruchomićsystemctl daemon-reload
być może trzeba zmienić lub dołączyć wiersz z
Requires
dyrektywą w[Unit]
sekcji/usr/lib/systemd/system/smb.service
pliku.i
źródło
Istnieją dwie alternatywy modyfikacji pliku usługi w
/usr/lib/systemd/system
(patrz Przykład 2. Przesłanianie ustawień dostawcy ):Skopiuj plik
/etc/systemd/system
i dokonaj modyfikacji na kopii. Ten plik całkowicie zastąpi plik w/usr/lib
.Utwórz plik
/etc/systemd/system/smb.service.d/local.conf
. Zawartość pliku powinna być podobna do poniższego przykładu. To selektywnie zastępuje opcje „Wymaga” i „Po” w pliku usługi dostarczonym przez dostawcę.Każda z nich (w tym modyfikacja pliku
/usr/lib
) ma zalety i wady. Najlepszy wybór może zależeć od usługi i charakteru modyfikacji.Chociaż może to działać, nie wystarczy dodać opcję „Po” (patrz Opcje sekcji [Jednostka] ). „Po” kontroluje kolejność, ale nie zależności. Jeśli
dirsrv.target
nie zostanie uruchomiony w inny sposób, określenie zamówienia nie uruchomi go. Użycie opcji „Wymaga” lub „Chce” wymusidirsrv.target
uruchomienie.NB: Nie wiem, czy to podejście było dostępne, kiedy pytanie zostało pierwotnie zadane.
źródło