W Fedorze mamy skrypty „systemctl” i „service”. Wygląda na to, że usługa dzwoni wewnętrznie systemctl
. Więc jaki jest właściwy / właściwy sposób na Fedorze do uruchamiania lub zatrzymywania usług - za pośrednictwem systemctl
lub usługi service
? Czy mogą być jakieś niuanse, o których należy pamiętać?
24
service foo start
w Debianie działa niezależnie od tego, czy twój system init jest systemd, sysvinit czy upstart;systemctl
prawdopodobnie nie działałby, jeśli systemd nie jest PID1.Odpowiedzi:
Wykorzystywany jest sposób zatrzymywania / uruchamiania usług w Fedorze (nowsze wersje)
systemctl
.Może jednak pozostać kilka usług, w
/etc/init.d/
których można kontrolować za pomocąservice
polecenia. Nadal można kontrolować jesystemctl
jakosystemd
automatycznie mapuje je do plików jednostkowych dla Ciebie.Na przykład na moim CentOS 7 (Fedora 19 lub nowszym) jest
/etc/rc.d/init.d/network
skrypt, który mógłbym kontrolować za pomocąservice
polecenia. Jeśli użyjęsystemctl
zamiast tego, nadal działa:Jak widać, został on zmapowany
/etc/rc.d/init.d/network
przezsystemd
isystemctl
steruje nim polecenie.Mógłbym być tak „w zeszłym roku” i
service
zamiast tego użyć :Oba działają, ale zauważ, że dają różne wyniki w swoich
status
poleceniach.źródło
Zazwyczaj
service
skrypty są przekierowywane na skrypty systemctl (Systemd), więc chcesz użyć swoich preferencji.Przykład
Z mojego systemu Fedora 20.
Generalnie używam obu metod, ponieważ stare nawyki umierają ciężko. Ale jeśli próbujesz przystosować się do świata Systemd, nadal zmuszam się do robienia rzeczy przy użyciu,
systemctl
jeśli to możliwe.Również Systemd zawiera wszystko, co robiłeś za pomocą jednego polecenia
chkconfig
iservice
pod jednym poleceniemsystemctl
, więc na ogół łatwiej mi sobie z tym poradzić na dłuższą metę.Ten ściąg na stronie projektu Fedora jest pomocny w dokonaniu zmiany.
Nawiasem mówiąc, odpowiedź na twoje pierwotne pytanie znajduje się w przypisie na tej stronie:
Referencje
źródło