Usługa kontra Systemctl

Usluga Kontra Systemctl



Service i systemctl to dwa narzędzia wiersza poleceń służące do zarządzania usługami systemowymi. Obydwa narzędzia należą do dwóch różnych systemów init, odpowiednio SysV i systemd.

W tym przewodniku omówię polecenia service i systemctl oraz różnice między nimi w zarządzaniu usługami.

Zanim przejdziemy dalej, przyjrzyjmy się najpierw dwóm popularnym systemom inicjującym Linuksa; System i Systemd.







System V kontra Systemd

System init w systemie Linux jest kluczową częścią procesu rozruchu. Jest to pierwszy proces z PID 1, który inicjuje się podczas uruchamiania systemu. Następnie uruchamia procesy obecne w pliku inittab. System V zna również SysV i systemd, które są popularnymi systemami inicjującymi Linuksa.



The SysV jest starszym systemem init i był częścią starszych dystrybucji Uniksa i Linuksa. Zarządza usługami systemowymi za pomocą skryptów znajdujących się w pliku /etc/init.d. Niektóre dystrybucje Linuksa, które nadal korzystają z SysV, to Slackware, Gentoo i antiX Linux.



Z drugiej strony, systemowy uruchomiony w 2010 roku i szybko został przyjęty w wielu dystrybucjach Linuksa. System init systemd zarządza usługami poprzez pliki .service. Jest teraz częścią wszystkich nowoczesnych dystrybucji Linuksa, w tym Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu i dystrybucji opartych na tych systemach operacyjnych.





Systemd jest znacznie wydajniejszy w porównaniu do SysV. Zapewnia szybszy czas uruchamiania, wydajne zarządzanie usługami i obsługę zależności.

Obydwa systemy init udostępniają dwa narzędzia wiersza poleceń do zarządzania usługami.



W kolejnych rozdziałach przewodnika omówię te dwa narzędzia.

Dowództwo służby

The praca polecenie to opakowanie skryptu, które uruchamia skrypty znajdujące się w pliku /etc/init.d informator. Został opracowany do zarządzania usługami SysV Lub System V system startowy. Dystrybucje Linuksa, które używają SysV jako systemu init, używają praca polecenie zarządzania usługami.

Ogólna składnia polecenia service jest podana poniżej.

praca [ Nazwa serwisu ] [ działanie ]

Aby uzyskać status usług kontrolowanych przez System V, użyj polecenia service z klawiszem –status-wszystko opcja.

praca --status-wszystko

The + wskazuje, że usługa jest uruchomiona, oraz pokazuje, że usługa jest nieaktywna.

Aktualny status dowolnej konkretnej usługi można również sprawdzić, podając nazwę usługi.

praca [ Nazwa serwisu ] status

Poniżej wymieniono inne przydatne polecenia usług, takie jak uruchamianie, zatrzymywanie i ponowne uruchamianie usługi.

praca [ Nazwa serwisu ] początek

praca [ Nazwa serwisu ] zatrzymywać się

praca [ Nazwa serwisu ] uruchom ponownie

To polecenie usługi zapewnia podstawową kontrolę zarządzania usługami. Większość dystrybucji Linuksa zastąpiła SysV jako system init, ale ze względu na kompatybilność ze starszymi wersjami, to polecenie nadal jest dostępne w wielu najnowszych dystrybucjach Linuksa od razu po wyjęciu z pudełka.

Polecenie systemctl

Za pomocą polecenia systemctl możesz kontrolować usługi w pliku /lib/systemd/system I /etc/systemd/system katalogi. Jest składnikiem systemd; system init występujący w większości współczesnych dystrybucji Linuksa.

Systemctl ma na celu zapewnienie większej kontroli nad zarządzaniem usługami systemowymi. Ogólna składnia polecenia systemctl jest podana poniżej:

systemctl [ opcja ] [ Nazwa serwisu ]

Aby sprawdzić stan wszystkich usług, użyj następującego polecenia.

jednostki list systemctl --typ =usługa --Wszystko

W przypadku konkretnego zastosowania usługi:

stan systemctl [ Nazwa serwisu ]

Poniżej znajdują się komendy do podstawowego zarządzania usługą za pomocą systemctl:

systemctl włączać [ Nazwa serwisu ]

start systemuctl [ Nazwa serwisu ]

systemctl zatrzymaj [ Nazwa serwisu ]

wyłącz systemctl [ Nazwa serwisu ]

ponowne uruchomienie systemuctl [ Nazwa serwisu ]

Komenda systemctl wykracza poza kontrolę usług. Poniższa tabela zawiera niektóre zaawansowane polecenia systemctl.

ścieżki list Aby wyświetlić ścieżkę wszystkich usług w pamięci
jest-aktywny [nazwa_usługi] Aby sprawdzić, czy usługa lub jednostka działa, czy nie
zależności listowe [nazwa_usługi] Aby wydrukować listę zależności określonej usługi
reset-nie powiodło się Aby zresetować usługi, których nie udało się załadować z powodu pewnych nieprawidłowości
maska ​​[nazwa_usługi] Aby wyłączyć usługę i uniemożliwić jej uruchomienie
get-domyślny Aby wydrukować domyślny poziom pracy lub cel
ustaw-domyślnie [cel] Aby ustawić domyślny poziom działania lub cel
is-system-działa Aby sprawdzić stan operacyjny systemu
ponowne uruchomienie Aby ponownie uruchomić system
wyłączenie Aby zamknąć system

Dlaczego w dystrybucjach Linuksa nadal istnieje polecenie usługi z systemd init System

Polecenie service jest nadal częścią wielu dystrybucji Linuksa, ponieważ jest skryptem opakowującym i abstrakcyjnym bazowym systemem init, niezależnie od tego, czy jest to SysV, czy systemctl. Na przykład w systemie Ubuntu polecenie service przekierowuje do pliku systemctl.

Wniosek

Service i systemctl to dwa narzędzia wiersza poleceń należące odpowiednio do systemów init SysV i systemd. Pomimo zastąpienia polecenia service we współczesnych dystrybucjach Linuksa, pozostaje ono kluczowym narzędziem do utrzymywania usług ze względu na prostotę i kompatybilność. Z drugiej strony systemctl jest częścią wszystkich obecnych dystrybucji Linuksa i zapewnia zaawansowane opcje administrowania usługami.