Przejdź do treści
100% lokalnie

generator plików jednostek systemd

Utwórz prawidłowy plik systemd .service, .timer, .socket lub .mount z kilku pól.

Wynik

generator plików jednostek systemd

Nie wklejaj w ogóle żadnego pliku konfiguracyjnego — po prostu wypełnij kilka pól, a narzędzie to utworzy kompletny plik jednostki systemd, który możesz bezpośrednio wstawić do /etc/systemd/system/. Obejmuje cztery typy jednostek, które administratorzy systemd najczęściej piszą ręcznie: service, timer, socket i mount, i generuje sekcje [Unit], [Service] i [Install] z dyrektywami w kolejności, którą systemd oczekuje.

Dla jednostki usługi ustaw opis i adres URL dokumentacji, polecenie ExecStart (z opcjonalnymi háczkami ExecStartPre i ExecStop), typ usługi (simple, exec, forking, oneshot lub notify), użytkownika i grupę, na której ma być uruchamiana, katalog roboczy i zmienne środowiska, albo inline albo za pośrednictwem EnvironmentFile. Polityka ponownego uruchomienia i RestartSec kontrolują sposób, w jaki systemd reaguje na zakończenie procesu; After i Requires łączą porządkowanie zależności, a WantedBy ustawia, który target zawiera jednostkę podczas rozruchu. Blok utwardzenia dodaje NoNewPrivileges, PrivateTmp, ProtectSystem i ProtectHome jednym klikięciem każdy, co jest większością tego, co własne pliki usług dystrybucji używają do sandboxingu.

Wyborem timer, socket lub mount zamiast service nadal wypełni wspólne sekcje [Unit] i [Install], ale pozostawi blok specyficzny dla typu jako komentarz zamiast zgadywania składni OnCalendar=, ListenStream= lub What=/Where=, którą nie może zweryfikować — zobacz konwerter cron na systemd timer dla gotowego planu. Nazwa jednostki jest oczyszczona do znaków, które systemd umożliwia, a narzędzie ostrzega zamiast zamrażać, jeśli pole jest wklejane absurdalnie duże.

Wszystko uruchamia się lokalnie w Twojej przeglądarce: nic, co wpiszesz, włączając nazwy hostów, ścieżki lub poświadczenia w EnvironmentFile, nigdy nie zostanie wysłane nigdzie. Skopiuj wynik, pobierz go jako plik .txt, aby zmienić nazwę i zainstalować samodzielnie, lub wyślij go innemu narzędziu, aby kontynuować edycję.

Częste pytania

Gdzie mam umieścić wygenerowany plik?
Zapisz go jako /etc/systemd/system/<name>.service (lub .timer/.socket/.mount), a następnie uruchom systemctl daemon-reload, a następnie systemctl enable --now <name>.
Dlaczego wybór "timer" lub "socket" pozostawia część pliku jako komentarz?
Te typy jednostek używają dyrektyw, które ten generator za Ciebie nie fabykuje — OnCalendar= dla czasomierza, ListenStream= dla gniazda, What=/Where= dla montażu. Dodaj je tam, gdzie wskazuje komentarz, zamiast kopiować zgadywaną składnię.
Co dokładnie robi blok utwardzenia?
NoNewPrivileges blokuje eskalację uprawnień, PrivateTmp daje usłudze jej własny /tmp, a ProtectSystem/ProtectHome czynią większość systemu plików tylko do odczytu lub niedostępną dla niego. Razem odpowiadają sandboxingowi, którego używają własne pliki usług dystrybucji.
Czy mogę wygenerować jednostkę dla wielu zmiennych środowiska jednocześnie?
Tak. Wymień je oddzielone przecinkami lub nowymi wierszami jako páry KEY=VALUE w polu Zmienne środowiska; każda stanie się własnym wierszem Environment=, a źle sformatowane elementy są pomijane zamiast przerywania pliku.
Czy cokolwiek, co wpiszę, jest wysyłane na serwer?
Nie. Plik jednostki jest generowany całkowicie w Twojej przeglądarce — łącznie ze wszystkimi ścieżkami, nazw hostów lub wartościami środowiska, które wpiszesz — i nic nie jest przesyłane.