logo

Jak uruchamiać, zatrzymywać i ponownie uruchamiać usługi w systemie Linux za pomocą polecenia systemctl

Usługi systemowe odgrywają kluczową rolę w funkcjonowaniu systemu Linux, obsługując różne zadania i procesy w tle.systemctl>to potężne narzędzie wiersza poleceń, które pozwala użytkownikom efektywnie zarządzać tymi usługami. W tym artykule omówimy podstawy użytkowaniasystemctl>do uruchamiania, zatrzymywania, ponownego uruchamiania, włączania, wyłączania i wyświetlania stanu usług w środowisku Linux.

Co to jest systemctl?

Zanim zagłębisz się w zarządzanie usługami, konieczne jest zrozumienie podstawsystemctl>. To polecenie służy do kontrolowania systemu systemowego i menedżera usług, który jest centralnym komponentem nowoczesnych dystrybucji Linuksa.



systemctl [command] [unit]>

Tutaj,

  • command> : Akcja do wykonania (np. uruchomienie, zatrzymanie, ponowne uruchomienie, włączenie, wyłączenie).
  • unit> : Usługa lub jednostka, której dotyczy problem.

Systemctl jest kontrolerem lub użyteczność Systemd (system init z zestawem programów wykonywanych w tle), pomocniczy w zarządzaniu usługami. Te polecenia są wykonywane w trybie root, jeśli nie jesteś w trybie rootowania systemu, żądając hasła roota.

Co to jest usługa?

Usługa informatyczna to proces działający w tle, który wykonuje określone zadania i funkcje bez interwencji użytkownika. Usługi często uruchamiają się automatycznie podczas uruchamiania systemu i działają w sposób ciągły, zapewniając takie funkcje, jak udostępnianie stron internetowych, udostępnianie plików lub monitorowanie systemu. Są zarządzane przez system operacyjny i w razie potrzeby można je uruchamiać, zatrzymywać lub uruchamiać ponownie. Usługi pomagają zapewnić stałą dostępność niezbędnych operacji. Przykładami są serwery internetowe, takie jak Apacz, serwery baz danych, takie jak MySQL-a, I usługi logowania do systemu.



Co to jest demon?

Demon to proces działający w tle, który działa nieprzerwanie w systemie Linux lub Unix. Wykonuje zadania bez bezpośredniej interakcji użytkownika, często rozpoczynając automatycznie przy uruchomieniu. Typowe przykłady obejmują serwery WWW, serwery baz danych i narzędzia do monitorowania systemu. Demony zwykle mają nazwy kończące się na d, nphttpd>Lubsshd>. Pomagają efektywnie zarządzać funkcjami i usługami systemu.

Jaki jest system init?

System init to pierwszy proces uruchamiany podczas uruchamiania systemu Linux i odpowiedzialny za inicjalizację systemu. Zarządza usługami i procesami systemowymi, obsługując ich uruchomienie, zatrzymanie i ponowne uruchomienie. Typowe systemy init obejmują SysVinit, Upstart i systemd. System init czuwa nad poprawnym działaniem wszystkich niezbędnych usług i zarządza zależnościami pomiędzy nimi. Działa w tle, monitorując i zarządzając procesami systemowymi przez cały czas działania systemu.

Jednostki w systemd

W systemd jednostki są podstawowymi obiektami, którymi systemd zarządza i które kontroluje. Reprezentują zasoby systemowe, takie jak usługi, liczniki czasu, urządzenia i punkty podłączenia. Każda jednostka jest zdefiniowana przez plik konfiguracyjny z określonym przyrostkiem, np.service>za usługi lub.timer>dla timerów. Jednostki można uruchamiać, zatrzymywać, włączać i wyłączać za pomocą poleceń systemctl. Są one niezbędne do zdefiniowania sposobu uruchamiania systemu i zarządzania różnymi procesami i zasobami.



.jednostki serwisowe w systemd

Systemowy.service>jednostki to pliki konfiguracyjne używane do zarządzania usługami w systemach Linux. Definiują, jak i kiedy usługi powinny być uruchamiane, zatrzymywane i ponownie uruchamiane. Każdy.service>plik zawiera szczegółowe informacje, takie jak nazwa usługi, opis i polecenie do uruchomienia. Pliki te zazwyczaj znajdują się w/etc/systemd/system>Lub/lib/systemd/system>. Zarządzanie nimi obejmuje polecenia takie jaksystemctl start>,systemctl stop>, Isystemctl enable>.

Jak znaleźć wszystkie jednostki systemowe w systemie?

Aby wyświetlić listę dostępnych jednostek systemowych lub wyświetlić listę wszystkich usług w systemie Linux, używamy następującego polecenia:

systemctl list-unit-files --type service -all>

Jak uruchomić usługę systemową w systemie Linux

Składnia:

w.next Java
sudo systemctl start service.service>

Polecenie start służy do uruchomienia (aktywacji) jednej lub większej liczby jednostek podanych w linii poleceń.

Przykład:

sudo systemctl start mariadb>
start systemuctl

Rozpocznij polecenie

Jak zatrzymać usługę systemową w systemie Linux

Składnia:

sudo systemctl stop service.service>

Polecenie stop służy do zatrzymania usługi lub (dezaktywacji) jednej lub więcej jednostek podanych w wierszu poleceń.

Przykład:

sudo systemctl stop mariadb>
systemctl zatrzymaj

Polecenie zatrzymania i stan

Jak wyświetlić status usługi systemowej w systemie Linux

Składnia:

sudo systemctl status service.service>

Komenda status służy do sprawdzania statusu usługi. Wyświetl zwięzłe informacje o stanie środowiska wykonawczego dotyczące jednej lub większej liczby jednostek, a następnie najnowsze dane dziennika z dziennika. Jeśli nie określono żadnych jednostek, pokaż stan systemu.

Przykład:

sudo systemctl status mariadb>
stan systemctl

Stan polecenia

Jak ponownie uruchomić usługę systemową w systemie Linux

Składnia:

sudo systemctl restart service.service>

Polecenie restart służy do ponownego uruchomienia wykonywanej usługi. Zatrzymaj, a następnie uruchom jedną lub więcej jednostek określonych w wierszu poleceń. Jeżeli jednostki jeszcze nie pracują, zostaną uruchomione.

Przykład:

sudo systemctl restart mariadb>
ponowne uruchomienie systemuctl

Polecenie Uruchom ponownie

Jak włączyć usługę systemową w systemie Linux

Składnia:

sudo systemctl enable name_service.service>

Polecenie Enable służy do wykonania usługi od momentu inicjalizacji, jeśli składa się z jednej lub większej liczby jednostek lub instancji jednostek. Spowoduje to utworzenie zestawu dowiązania symboliczne , zakodowany w sekcjach [Install] wskazanych plików jednostkowych. konfiguracja menedżera systemu jest ładowana ponownie (w sposób równoważny przeładowaniu demona), aby mieć pewność, że zmiany zostaną natychmiast uwzględnione.

Przykład

sudo systemctl enable mariadb>

włącz systemctl

Polecenie Włącz

Stan polecenia

25 ze 100

Jak wyłączyć usługę systemową w systemie Linux

Składnia:

sudo systemctl disable name_service.service>

Polecenie wyłączenia służy do wycofania usługi od czasu inicjalizacji jednego lub większej liczby urządzeń. Spowoduje to usunięcie wszystkich dowiązań symbolicznych do plików jednostek stanowiących kopię zapasową określonych jednostek z katalogu konfiguracji jednostki, a tym samym cofnie wszelkie zmiany wprowadzone przez włączenie lub łącze.

Przykład:

sudo systemctl disable mariadb>

wyłącz systemctl

Polecenie Wyłącz

Stan polecenia

Zamknij lub uruchom ponownie system za pomocą systemctl

Uruchom ponownie system: To instruujesystemd>aby zrestartować cały system. Wszystkie usługi zostaną zatrzymane, a system przejdzie pełny proces zamykania przed ponownym uruchomieniem.

sudo systemctl reboot>

Zamknij system: Informuje system o konieczności wyłączenia maszyny. Wszystkie usługi i procesy zostaną zatrzymane, a system zostanie bezpiecznie wyłączony.

sudo systemctl shutdown>

dziennikctl

journalctl>to polecenie używane w systemach Linux do wysyłania zapytań i wyświetlania dzienników zsystemd>dziennik, będący usługą systemową gromadzącą i przechowującą dane logowania. Oto prosty przewodnik, jak używaćjournalctl>:

journalctl -n 10>służy do wyświetlania ostatnich 10 wpisów (wierszy) z dziennika systemowego. Oto zestawienie działania każdej części polecenia:

  • journalctl> : Wywołujejournalctl>polecenie, które służy do wysyłania zapytań i wyświetlania dzienników z dziennika systemowego.
  • -n 10> : Określa liczbę wyświetlanych linii. W tym przypadku,-n 10>instruujejournalctl>aby wyświetlić 10 ostatnich wpisów z dziennika.
journalctl -n 10>

Zabezpieczanie usługi za pomocą systemd jest podstawową praktyką mającą na celu zabezpieczenie systemu przed potencjalnymi lukami w zabezpieczeniach i nieautoryzowanym dostępem. Oto uproszczony przewodnik, jak to osiągnąć:

1. Zrozumienie plików jednostek serwisowych

  • Konfiguracja usługi : Każda usługa w systemd jest zarządzana przez plik jednostkowy, zwykle znajdujący się w/etc/systemd/system/>. Pliki te definiują sposób działania usługi, w tym zachowanie podczas uruchamiania, limity zasobów i ustawienia zabezpieczeń.

2. Ogranicz uprawnienia do usług

  • Uprawnienia użytkowników i grup : Określ użytkownika i grupę, w ramach której działa usługa. Jeśli to możliwe, unikaj korzystania z konta użytkownika root, aby zminimalizować wpływ naruszeń bezpieczeństwa.

3. Wykorzystaj systemowe funkcje bezpieczeństwa

  • PrywatnyTmp : Włącz prywatny/tmp>I/var/tmp>katalogi usługi, aby zapobiec wyciekom informacji pomiędzy różnymi usługami.
  • ChrońSystem i ChrońDom : Ustaw te opcje, aby ograniczyć dostęp odpowiednio do katalogów systemowych i katalogów domowych użytkowników w celu zwiększenia bezpieczeństwa systemu.
  • ReadOnlyPaths i ReadWritePaths : Określ katalogi, z których usługa może czytać i do których może zapisywać. Ograniczenie dostępu do zapisu może zapobiec niezamierzonym modyfikacjom krytycznych plików.

4. Ogranicz wykorzystanie zasobów

maszynopis mapy
  • Ogranicz procesor i pamięć : UżywaćCPUQuota>IMemoryLimit>opcje ograniczające wykorzystanie procesora i pamięci przez usługę, zapobiegając atakom związanym z wyczerpaniem zasobów.

5. Włącz kontrolę sieci

  • Ogranicz dostęp do sieci : SpożytkowaćRestrictAddressFamilies>,IPAddressAllow>, IIPAddressDeny>możliwości kontroli dostępu usługi do sieci, ograniczając jej narażenie na potencjalne zagrożenia.

6. Ustaw uprawnienia systemu plików

  • Uprawnienia systemu plików : Upewnij się, że pliki i katalogi usługi mają odpowiednie uprawnienia (chmod>) i własność (chown>), aby zapobiec nieupoważnionemu dostępowi.

7. Regularnie aktualizuj i monitoruj

  • Aktualizuj system : Regularnie aktualizuj oprogramowanie systemu i usług, aby łatać luki w zabezpieczeniach i mieć pewność, że stosowane środki bezpieczeństwa pozostaną skuteczne.
  • Monitoruj dzienniki : Monitoruj dzienniki dziennika systemowego (journalctl>) pod kątem wszelkich podejrzanych działań lub zdarzeń związanych z bezpieczeństwem i w razie potrzeby podjąć odpowiednie działania.

Wniosek

Omówiliśmy systemctl, który jest niezbędnym narzędziem wiersza poleceń do zarządzania usługami systemowymi w systemie Linux, odgrywającym kluczową rolę w zadaniach takich jak uruchamianie, zatrzymywanie, ponowne uruchamianie, włączanie i wyłączanie usług. W tym artykule zawarto obszerny przewodnik po systemiectl, obejmujący jego składnię i kluczowe polecenia. Od listy dostępnych jednostek systemowych po włączenie lub wyłączenie automatycznego uruchamiania, każde polecenie przyczynia się do efektywnego zarządzania usługami. W artykule omówiono także często zadawane pytania, oferując praktyczne rozwiązania takich zadań, jak sprawdzanie stanu usług, uruchamianie, zatrzymywanie i ponowne uruchamianie usług oraz włączanie lub wyłączanie automatycznego uruchamiania. Ogólnie rzecz biorąc, zrozumienie i opanowanie poleceń systemctl jest niezbędne Administratorzy Linuksa aby zapewnić stabilność i optymalną wydajność swoich systemów.

Systemctl – często zadawane pytania

Co to jest usługa systemu Linux?

Usługa systemu Linux to proces lub aplikacja działająca w tle, działająca niezależnie od interakcji użytkownika, zapewniająca określoną funkcjonalność lub wykonująca zadania systemowe. Jest zarządzany przez system init, zwykle systemd, i można go uruchamiać, zatrzymywać i zarządzać nim za pomocą poleceń takich jaksystemctl>.

Jaka jest różnica między Systemctl a usługą?

systemctl>to narzędzie wiersza poleceń służące do zarządzania usługami systemowymi, natomiastservice>jest dowiązaniem symbolicznym dosystemctl>w wielu systemach, zapewniając zgodność ze starszymi skryptami inicjującymi.

Jak sprawdzić stan usługi w systemie Linux?

Użyj ` systemctl status `> aby sprawdzić, czy usługa jest uruchomiona, aktywna (ostatnio zatrzymana) czy nieaktywna (nigdy nie uruchomiona). Ujawnia to ważne informacje, takie jak wykorzystanie pamięci i aktywne połączenia.

Jak uruchomić, zatrzymać i ponownie uruchomić usługę?

Na początek , używać :

sudo systemctl start>

Postojowy , używać :

sudo systemctl stop>

Zrestartować , używać :

sudo systemctl restart>

Notatka : Pamiętaj o wymianie>z rzeczywistą nazwą usługi.

Jak sprawić, aby usługa uruchamiała się automatycznie podczas rozruchu?

Używaćsudo `> systemctl enable `> aby ustawić usługę tak, aby uruchamiała się automatycznie po uruchomieniu systemu.

Aby wyłączyć automatyczne uruchamianie, użyj ` sudo systemctl disable `> .