Usługi
systemd to domyślny menedżer systemowy i usług w YaruntuOS, który zarządza procesami i usługami podczas rozruchu, w trakcie działania systemu oraz podczas jego zamykania. systemctl jest narzędziem służącym do kontrolowania usług zarządzanych przez systemd. Razem te narzędzia tworzą nowoczesne i wydajne środowisko zarządzania systemem operacyjnym oparte na Linuksie.
Co to jest systemd?
systemd to system i menedżer usług dla systemu Linux. Jest to narzędzie odpowiedzialne za uruchamianie i zarządzanie procesami w systemie operacyjnym. Zarządza usługami, procesami, montowaniem systemów plików, logowaniem i wieloma innymi aspektami systemu operacyjnego.
systemd zastępuje starsze narzędzia takie jak SysVinit i Upstart, które były używane do zarządzania uruchamianiem i zamykaniem usług w systemie Linux. Dzięki systemd procesy i usługi są uruchamiane szybciej, zarządzanie zależnościami jest bardziej zoptymalizowane, a całość oferuje nowoczesne i lepsze wsparcie dla różnych funkcji.
Kluczowe komponenty systemd:
Jednostki (units): Podstawowe elementy zarządzane przez systemd. Każda jednostka reprezentuje usługę, montowanie systemu plików, gniazdo sieciowe, a także inne zasoby systemowe.
Cgroups: systemd używa cgroups (control groups) do zarządzania procesami i ograniczania zużycia zasobów.
Dziennik systemowy (journal): Ułatwia centralne logowanie za pomocą journald.
Co to jest systemctl?
systemctl to narzędzie wiersza poleceń służące do kontrolowania i zarządzania usługami oraz innymi jednostkami (units) w systemd. Dzięki niemu można uruchamiać, zatrzymywać, restartować oraz sprawdzać status usług i procesów w systemie.
Podstawowe polecenia systemctl
Sprawdzanie statusu usługi
Aby sprawdzić, czy dana usługa działa, użyj polecenia:
Na przykład, aby sprawdzić status usługi apache2:
Uruchamianie usługi
Aby uruchomić usługę, która nie jest obecnie uruchomiona:
Przykład uruchomienia Apache2:
Zatrzymywanie usługi
Aby zatrzymać działającą usługę, użyj polecenia:
Przykład zatrzymania Apache2:
Restartowanie usługi
Aby zrestartować usługę (zatrzymać i ponownie uruchomić):
Przykład restartu Apache2:
Włączanie i wyłączanie usług przy starcie systemu
Aby włączyć usługę, aby automatycznie uruchamiała się podczas startu systemu:
Przykład włączenia Apache2:
Aby wyłączyć usługę, aby nie uruchamiała się automatycznie przy starcie systemu:
Przykład wyłączenia Apache2:
Sprawdzanie wszystkich usług
Aby zobaczyć wszystkie dostępne jednostki i usługi zarządzane przez systemd:
Rodzaje jednostek (units)
Jednostki w systemd mają różne typy i odpowiadają za różne funkcje w systemie:
.service – Usługi, które są procesami w tle, np. serwery HTTP, serwisy baz danych.
.socket – Gniazda komunikacyjne, które uruchamiają usługi, gdy otrzymują połączenia.
.mount – Punkty montowania systemów plików.
.automount – Punkty automatycznego montowania.
.target – Grupy usług, które mogą być uruchomione jednocześnie, np.
multi-user.targetdla trybu wieloużytkownikowego..timer – Jednostki odpowiedzialne za harmonogramowanie uruchamiania usług.
.path – Monitorowanie ścieżek plików i uruchamianie usług w reakcji na zmiany w plikach.
Zarządzanie zależnościami
Jedną z najważniejszych funkcji systemd jest zarządzanie zależnościami między usługami. systemd automatycznie zapewnia, że usługi są uruchamiane w odpowiedniej kolejności. Na przykład, jeśli usługa A zależy od usługi B, systemd najpierw uruchomi B, a dopiero potem A.
Zależności można definiować w plikach jednostek za pomocą dyrektyw takich jak:
Requires=– Wymaga innej jednostki.After=– Jednostka musi być uruchomiona po wskazanej jednostce.Before=– Jednostka musi być uruchomiona przed wskazaną jednostką.
Pliki jednostek systemd
Każda usługa zarządzana przez systemd jest opisana w specjalnym pliku konfiguracyjnym nazywanym plikiem jednostki. Pliki te znajdują się zazwyczaj w katalogach:
/etc/systemd/system/– Pliki jednostek lokalnie modyfikowane przez użytkownika./lib/systemd/system/– Domyślne pliki jednostek dostarczane przez system.
Przykładowy plik jednostki
Oto przykładowy plik jednostki dla usługi:
Podsumowanie
systemd i systemctl to potężne narzędzia do zarządzania systemem i usługami w YaruntuOS. Dzięki nim możliwe jest szybkie i efektywne zarządzanie procesami, usługami i zależnościami, co pozwala na optymalizację działania systemu oraz lepsze zarządzanie zasobami. Narzędzie systemctl daje pełną kontrolę nad usługami, pozwalając na ich uruchamianie, zatrzymywanie, monitorowanie i konfigurowanie.
Last updated
