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

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 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

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

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ę

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

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

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

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

Zatrzymanie usługi jest tak samo łatwe jak jej uruchomienie.
Pocę się systemctl zatrzymywać się przykład-htg.praca

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

Jeśli chcesz, aby usługa uruchamiała się podczas rozruchu, musisz ją włączyć.
Pocę się systemctl włączać przykład-htg.praca

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

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

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

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ć. 🔧🛠️