Aller au contenu
Tout en local

générateur de fichiers d'unité systemd

Créer un fichier .service, .timer, .socket ou .mount systemd valide à partir de quelques champs.

Sortie

générateur de fichiers d'unité systemd

Aucun fichier de configuration requis — remplissez simplement quelques champs et cet outil écrit un fichier d'unité systemd complet que vous pouvez placer directement dans /etc/systemd/system/. Il couvre les quatre types d'unités que les administrateurs systemd écrivent le plus souvent: service, minuteur, socket et montage, et produit les sections [Unit], [Service] et [Install] avec les directives dans l'ordre attendu par systemd.

Pour une unité de service, définissez la description et l'URL de documentation, la commande ExecStart (avec les hooks optionnels ExecStartPre et ExecStop), le Type de service (simple, exec, forking, oneshot ou notify), l'utilisateur et le groupe à exécuter, un répertoire de travail et des variables d'environnement soit en ligne soit via EnvironmentFile. La politique de redémarrage et RestartSec contrôlent comment systemd réagit quand le processus meurt; After et Requires configurent l'ordre des dépendances, et WantedBy définit quelle cible tire l'unité au démarrage. Un bloc de renforcement ajoute NoNewPrivileges, PrivateTmp, ProtectSystem et ProtectHome en un clic chacun, ce que la plupart des fichiers de service fournis par la distribution utilisent pour le bac à sable.

Choisir à la place un minuteur, socket ou montage remplit toujours les sections partagées [Unit] et [Install], mais laisse le bloc spécifique au type comme commentaire plutôt que de deviner la syntaxe OnCalendar=, ListenStream= ou What=/Where= qu'il ne peut pas vérifier — consultez le convertisseur de cron en minuteur systemd pour un calendrier prêt à l'emploi. Le nom de l'unité est assaini aux caractères que systemd autorise, et l'outil avertit plutôt que de geler si un champ est collé dans une taille absurdement grande.

Tout s'exécute localement dans votre navigateur: rien de ce que vous tapez, y compris les noms d'hôtes, les chemins ou les identifiants dans EnvironmentFile, n'est jamais envoyé. Copiez le résultat, téléchargez-le en tant que fichier .txt pour le renommer et l'installer vous-même, ou envoyez-le à un autre outil pour continuer l'édition.

FAQ

Où placer le fichier généré?
Enregistrez-le sous /etc/systemd/system/<nom>.service (ou .timer/.socket/.mount), puis exécutez systemctl daemon-reload suivi de systemctl enable --now <nom>.
Pourquoi choisir "minuteur" ou "socket" laisse partie du fichier comme commentaire?
Ces types d'unités utilisent des directives que ce générateur ne fabrique pas pour vous — OnCalendar= pour un minuteur, ListenStream= pour un socket, What=/Where= pour un montage. Ajoutez-les où le commentaire pointe au lieu de copier la syntaxe devinée.
Que fait réellement le bloc de renforcement?
NoNewPrivileges bloque l'escalade de privilèges, PrivateTmp donne au service son propre /tmp, et ProtectSystem/ProtectHome rendent la plupart du système de fichiers en lecture seule ou inaccessible à celui-ci. Ensemble, ils correspondent au sandboxing que de nombreux services fournis par la distribution utilisent déjà.
Puis-je générer une unité pour plusieurs variables d'environnement à la fois?
Oui. Listez-les séparés par des virgules ou des sauts de ligne sous forme de paires KEY=VALUE dans le champ des variables d'environnement; chacun devient sa propre ligne Environment=, et les entrées malformées sont ignorées plutôt que de casser le fichier.
Quelque chose que j'écris est-il envoyé à un serveur?
Non. Le fichier d'unité est généré entièrement dans votre navigateur — y compris tous les chemins, noms d'hôte ou valeurs d'environnement que vous entrez — et rien n'est téléchargé.