systemctl: Pełna kontrola w systemie Linux w 12 krokach

systemctl 12 poleceń, które opanują Linuksa

systemctl: 12 poleceń, które opanują Linuksa 🚀

Polecenie systemctl ma kilka funkcji, które są często pomijane. Oprócz uruchamiania i zatrzymywania usług w systemie Linux można również wyświetlić listę zainstalowanych usług i sprawdzić ich status. Zróbmy szybki przegląd! 🚀

Czym jest polecenie Systemctl?

Polecenie systemctl jest centralnym narzędziem zarządzania systemem init systemd, znanym przede wszystkim jako narzędzie służące do uruchamiania i zatrzymywania usług. Ale jest tego znacznie więcej, o czym świadczy jego strona podręcznika który ma ponad 1600 linii. 📖

Ponieważ systemctl jest narzędziem do zarządzania, a nie tylko programem uruchamiającym usługi, można go używać w celu uzyskania dostępu do przydatnych informacji o systemie i jego usługach systemd. 💻

Większość dystrybucji Linuksa przyjęła systemd, ale niektóre zdecydowały się zachować tradycyjny system init SystemV. Jeśli nie masz pewności, którego z nich używa Twoja dystrybucja, łatwo możesz się tego dowiedzieć. Użyjemy polecenia stat, aby sprawdzić plik init.

statystyka /sbin/init 
Użycie polecenia stat w celu sprawdzenia, czy instalacja Linuksa używa SystemV lub systemd.

Plik wykonywalny /sbin/init jest pierwszym procesem uruchamianym w dystrybucjach opartych na SystemV. W dystrybucjach bazujących na systemd, dowiązanie symboliczne o tej nazwie wskazuje na systemd.

Pierwszy wiersz wyników pokazuje nam, że na tym komputerze testowym Ubuntu /sbin/init jest symbolicznym linkiem do pliku /lib/systemd/systemd. Oczywiste jest, że ta instalacja Linuksa używa systemd. Gdyby była to dystrybucja oparta na SystemV, wiersz zawierałby tylko „Plik: /sbin/init”.

Przesłuchiwanie usług za pomocą systemctl

Usługi są definiowane w plikach jednostek. W opcjach systemctl można znaleźć słowo „jednostka”. Na przykład listę usług możemy uzyskać za pomocą polecenia list-units z opcją –type.

systemctl lista-jednostki --type=usługa
Dane wyjściowe polecenia systemctl list-units pokazujące uruchomione i zatrzymane usługi.

Dane wyjściowe wyświetlane są w przeglądarce plików Less, umożliwiającej nawigację i wyszukiwanie za pomocą klawisza /.

  • Jednostka: Nazwa pliku jednostki.
  • Nosić: Jeżeli plik jednostki usługowej został wczytany do pamięci bez błędów składniowych, ta kolumna będzie zawierać „załadowano”. Nie oznacza to, że usługa jest aktywna.
  • Zaleta:Ogólny opis, czy usługa jest aktywna. Być może aktywna usługa nie jest uruchomiona.
  • Zastąpić: Bardziej szczegółowy widok tego, czy usługa jest uruchomiona. Na przykład aktywna usługa może być zaplanowana dla określonego timera i mogła zakończyć swoje ostatnie działanie.
  • Opis:Wiersz tekstu mający na celu identyfikację lub opis usługi.

Na wyświetlaczu widoczne są tylko aktywne usługi. Aby zobaczyć wszystkie usługi, musimy dodać opcję –all.

systemctl lista-units --all --type=usługa
Wynik polecenia systemctl list-units pokazujący wszystkie usługi.

Jeśli przeglądanie wszystkiego jest przytłaczające, możemy przefiltrować dane wyjściowe za pomocą opcji –state.

systemctl lista-units --type=usługa --state=działający
Dane wyjściowe polecenia systemctl list-units, przefiltrowane w celu wyświetlenia tylko uruchomionych usług.

Opcja stanu będzie akceptować stany: uruchomiony, zatrzymany, włączony, wyłączony i nieudany.

Aby skupić się na niesprawnych usługach, użyj opcji –failed.

systemctl lista-jednostki --nie powiodło się
Dane wyjściowe polecenia systemctl list-units, przefiltrowane w celu wyświetlenia tylko usług, których działanie się nie powiodło. Nie ma żadnych niesprawnych usług.

Na tym komputerze nie ma uszkodzonych napędów.

Jeśli widzisz jakiekolwiek niesprawne usługi, użyj opcji list-dependencies, aby sprawdzić, czy istnieją niespełnione zależności.

systemctl lista-zależności sshd.service
Wynik polecenia systemctl list-dependencies pokazujący zależności dla usługi sshd.

Zależności mają zakodowane kolorem okręgi reprezentujące ich status. Może być:

  • Białe koło:Nieaktywny lub w trakcie konserwacji
  • Zielona kropka: Zaleta.
  • Biały punkt:Dezaktywowanie.
  • Czerwona kropka: Niepowodzenie lub błąd.

Aby sprawdzić, czy pojedyncza usługa jest włączona, należy użyć polecenia is-enabled i podać nazwę pliku jednostki usługi.

systemctl es-włączono htg-example.service
Użycie systemctl is-enabled w celu ustalenia, czy konkretna usługa jest włączona.

Kontrolowanie usług za pomocą systemctl

Zarządzanie usługami za pomocą systemctl jest bardzo proste i opiera się na formacie poleceń, które widzieliśmy do tej pory. Największą różnicą jest to, że aby wprowadzić zmiany w stanach usług, trzeba użyć polecenia sudo. Do tej pory tego nie robiliśmy, ponieważ informowaliśmy wyłącznie o stanie usług.

Aby uruchomić usługę, należy użyć polecenia start, po którym następuje nazwa usługi.

Pocę się systemctl start przykład-htg.praca
Uruchamianie usługi za pomocą polecenia systemctl start.

Jeśli wszystko pójdzie dobrze, zostaniesz automatycznie przeniesiony do wiersza poleceń. Jeśli wolisz otrzymać potwierdzenie pozytywne, możesz je zweryfikować poleceniem status.

Pocę się systemctl status przykład-htg.praca
Sprawdzanie statusu usługi za pomocą polecenia systemctl status.

Zatrzymanie usługi jest tak samo łatwe jak jej uruchomienie.

Pocę się systemctl zatrzymywać się przykład-htg.praca
Zatrzymywanie usługi za pomocą polecenia systemctl stop.

Możesz ponownie uruchomić usługę bez konieczności przechodzenia przez dwuetapowy proces jej zatrzymywania i ponownego uruchamiania. On polecenie ponownego uruchomienia zrobi wszystko za Ciebie.

Pocę się systemctl ponownie uruchomić przykład-htg.praca
Ponowne uruchomienie usługi za pomocą polecenia systemctl restart.

Jeśli chcesz, aby usługa uruchamiała się podczas rozruchu, musisz ją włączyć.

Pocę się systemctl włączać przykład-htg.praca
Włączanie usługi za pomocą polecenia systemctl enable.

Należy pamiętać, że oznacza to jedynie usługę, która ma zostać uruchomiona podczas rozruchu, a nie uruchamia jej natychmiast. Jeśli tego chcesz, dodałem opcję –now.

Pocę się systemctl włączać --Teraz przykład-htg.praca
Jednoczesne włączanie i uruchamianie usługi za pomocą polecenia systemctl enable --now.

Jeśli nie potrzebujesz już, aby dana usługa uruchamiała się przy rozruchu, wyłącz ją.

Pocę się systemctl wyłączyć przykład-htg.praca
Wyłączanie usługi za pomocą polecenia systemctl disable.

Do wyszukania wpisów związanych z daną usługą możesz użyć polecenia journalctl, będącego inną częścią systemd. Opcja -u (jednostka) umożliwia określenie usługi, którą jesteś zainteresowany. Opcja -S (od) umożliwia wyświetlenie wpisów, które miały miejsce od momentu podania informacji.

dziennikctl -S "08:00:00" -Lub przykład-htg.praca
Wyświetlanie wpisów dziennika systemowego dotyczących określonej usługi za pomocą polecenia journalctl.

Jakiekolwiek narzędzie, które Ci pomaga uzyskać informacje o operacji Znajomość wnętrza dystrybucji Linuksa będzie nieoceniona zarówno w codziennym zarządzaniu, jak i przy rozwiązywaniu problemów oraz diagnozowaniu ich. Polecenie systemctl nie jest pojedynczym narzędziem. To raczej specjalistyczna skrzynia z narzędziami, warto się z nią zapoznać. 🔧🛠️

5 2 głosów
Ocena artykułu
Subskrybuj
Powiadomienie o
gość

0 Uwagi
Więcej starożytności
Najnowszy Więcej głosów
Komentarze online
Zobacz wszystkie komentarze