Page cover

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.target dla 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