Ga naar inhoud
100% lokaal

systemd eenheidsbestand-generator

Maak een geldig systemd .service-, .timer-, .socket- of .mount-bestand aan op basis van enkele velden.

Uitvoer

systemd eenheidsbestand-generator

Vul gewoon een paar velden in en deze tool schrijft een volledig systemd eenheidsbestand dat u rechtstreeks in /etc/systemd/system/ kunt plaatsen. Het dekt de vier eenheidstypen af die systeembeheerders het meest handmatig schrijven: service, timer, socket en mount, en produceert de secties [Unit], [Service] en [Install] met de richtlijnen in de volgorde die systemd verwacht.

Voor een service-unit stelt u de beschrijving en documentatie-URL, het ExecStart-commando (met optionele ExecStartPre- en ExecStop-hooks), het servicetype (simple, exec, forking, oneshot of notify), de gebruiker en groep waarmee het moet worden uitgevoerd, een werkmap en omgevingsvariabelen in, hetzij inline, hetzij via EnvironmentFile. Het herstarteleid en RestartSec bepalen hoe systemd reageert wanneer het proces stopt; After en Requires koppelen de afhankelijkheidsvolgorde, en WantedBy bepaalt welk doel de unit tijdens het starten inneemt. Een beveiligingsblok voegt NoNewPrivileges, PrivateTmp, ProtectSystem en ProtectHome met één klik toe, wat overeenkomt met wat veel distributies in hun eigen servicebestanden voor sandboxing gebruiken.

Bij het kiezen van timer, socket of mount worden de gedeelde secties [Unit] en [Install] nog steeds ingevuld, maar wordt het typespecifieke blok als opmerking achtergelaten in plaats van OnCalendar=, ListenStream= of What=/Where=-syntaxis te raden die niet kan worden geverifieerd — zie de cron-naar-systemd-timer-converter voor een kant-en-klaar schema. De eenheidsnaam wordt opgeschoond tot de tekens die systemd toestaat, en het gereedschap waarschuwt in plaats van vast te lopen als een veld in absurd grote omvang wordt geplakt.

Alles draait lokaal in uw browser: niets wat u typt, inclusief hostnamen, paden of referenties in EnvironmentFile, wordt ooit ergens heen verzonden. Kopieer het resultaat, download het als .txt-bestand om het zelf te hernoemen en te installeren, of stuur het naar een ander gereedschap om verder te bewerken.

FAQ

Waar plaats ik het gegenereerde bestand?
Sla het op als /etc/systemd/system/<name>.service (of .timer/.socket/.mount), voer vervolgens systemctl daemon-reload uit gevolgd door systemctl enable --now <name>.
Waarom wordt het typespecifieke blok als opmerking achtergelaten als timer of socket is gekozen?
Deze eenheidstypen gebruiken richtlijnen die deze generator niet voor u fabriceert — OnCalendar= voor een timer, ListenStream= voor een socket, What=/Where= voor een mount. Voeg ze in waar de opmerking aangeeft, in plaats van de geraden syntaxis te kopiëren.
Wat doet het beveiligingsblok eigenlijk?
NoNewPrivileges blokkeert escalatie van bevoegdheden, PrivateTmp geeft de service zijn eigen /tmp, en ProtectSystem/ProtectHome maken het meeste van het bestandssysteem alleen-lezen of ontoegankelijk voor het. Samen stemmen zij overeen met de sandboxing die veel door distributies geleverde services al gebruiken.
Kan ik een unit voor meerdere omgevingsvariabelen tegelijk genereren?
Ja. Vermeld ze komma- of regelgescheiden als KEY=VALUE-paren in het veld Omgevingsvariabelen; elk wordt zijn eigen Environment=-regel, en onjuiste vermeldingen worden overgeslagen in plaats van het bestand te verbreken.
Wordt iets wat ik typ naar een server verzonden?
Nee. Het eenheidsbestand wordt volledig in uw browser gegenereerd — inclusief alle paden, hostnamen of omgevingswaarden die u invoert — en niets wordt geüpload.