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żytkowania systemctl> 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 podstaw systemctl> . 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, np httpd> Lub sshd> . 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 jak systemctl start> , systemctl stop> , I systemctl 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:
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
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
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 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
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
Polecenie Włącz
Stan polecenia
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
Polecenie Wyłącz
Stan polecenia
Zamknij lub uruchom ponownie system za pomocą systemctl
Uruchom ponownie system: To instruuje systemd> 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 z systemd> 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
- 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 jak
systemctl>.
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 startPostojowy , używać :
sudo systemctl stopZrestartować , używać :
sudo systemctl restartNotatka : 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 `>.