Перейти до вмісту
100% локально

генератор файлів systemd

Створіть коректний файл systemd .service, .timer, .socket або .mount з кількох полів.

Вихід

генератор файлів systemd

Не потрібно вставляти файл конфігурації — просто заповніть кілька полів і цей інструмент створить повний файл модуля systemd, який ви можете поміщати безпосередньо в /etc/systemd/system/. Він охоплює чотири типи модулів, які адміністратори systemd пишуть вручну найчастіше: service, timer, socket та mount, і створює розділи [Unit], [Service] та [Install] з директивами в порядку, очікуваному systemd.

Для модуля служби встановіть опис та URL документації, команду ExecStart (з необов'язковими гачками ExecStartPre та ExecStop), тип служби (simple, exec, forking, oneshot або notify), користувача та групу для запуску, робочу директорію та змінні середовища вбудовано або через EnvironmentFile. Політика перезавантаження та RestartSec контролюють, як systemd реагує на смерть процесу; After та Requires налаштовують упорядкування залежностей, а WantedBy встановлює, яка мета вводить модуль при завантаженні. Блок захисту додає NoNewPrivileges, PrivateTmp, ProtectSystem та ProtectHome одним щелчком кожен, що становить більшу частину того, що використовують власні файли служб дистрибутива для пісочниці.

Вибір timer, socket або mount все ще заповнює спільні розділи [Unit] та [Install], але залишає блок, специфічний для типу, як коментар, а не вгадує синтаксис OnCalendar=, ListenStream= або What=/Where=, який він не може перевірити — див. конвертер cron у таймер systemd для готового графіку. Назва модуля очищається від символів, які systemd не допускає, а інструмент попереджує замість зависання, якщо поле вставлено абсурдно великого розміру.

Все працює локально у вашому браузері: нічого з того, що ви вводите, включаючи імена хостів, шляхи або облікові дані в EnvironmentFile, ніколи не відправляється куди-небудь. Скопіюйте результат, завантажте його як файл .txt для перейменування та встановлення самостійно або відправте його іншому інструменту для продовження редагування.

FAQ

Де розмістити створений файл?
Збережіть його як /etc/systemd/system/<name>.service (або .timer/.socket/.mount), потім запустіть systemctl daemon-reload, за яким йде systemctl enable --now <name>.
Чому вибір «timer» або «socket» залишає частину файлу як коментар?
Ці типи модулів використовують директиви, які цей генератор не створює для вас — OnCalendar= для таймера, ListenStream= для сокета, What=/Where= для монтування. Додайте їх там, де вказує коментар, замість копіювання вгаданого синтаксису.
Що саме робить блок захисту?
NoNewPrivileges блокує підвищення привілеїв, PrivateTmp дає службі її власний /tmp, а ProtectSystem/ProtectHome роблять більшу частину файлової системи доступною лише для читання або недоступною для неї. Разом вони відповідають пісочниці, яку вже використовують багато доставлених дистрибутивом файлів служб.
Чи можу я створити модуль для кількох змінних середовища одночасно?
Так. Перелічіть їх через кому або новий рядок як пари KEY=VALUE у полі змінних середовища; кожна стає своїм рядком Environment=, а неправильно відформатовані записи пропускаються, а не розривають файл.
Щось з того, що я вводу, відправляється на сервер?
Ні. Файл модуля створюється повністю у вашому браузері — включаючи будь-які шляхи, імена хостів або значення середовища, які ви вводите — і нічого не завантажується.