Hoppa till innehåll
100% lokalt

systemd enhetsfils-generator

Skapa en giltig systemd .service-, .timer-, .socket- eller .mount-fil från några få fält.

Utmatning

systemd enhetsfils-generator

Fyll bara i ett fåtal fält och detta verktyg skriver en komplett systemd enhetsfil som du kan placera direkt i /etc/systemd/system/. Det täcker de fyra enhetstyperna som systemd-administratörer skriver för hand oftast: service, timer, socket och mount, och producerar avsnitten [Unit], [Service] och [Install] med direktiven i den ordning systemd förväntar.

För en servicenhet ställer du in beskrivningen och dokumentations-URL, ExecStart-kommandot (med valfria ExecStartPre- och ExecStop-krokar), servictypen (simple, exec, forking, oneshot eller notify), användaren och gruppen som ska köras, en arbetskatalog och miljövariabler antingen inline eller via EnvironmentFile. Omstartsprincipen och RestartSec styr hur systemd reagerar när processen dör; After och Requires kopplar beroendekörningen, och WantedBy ställer in vilket mål som hämtar enheten vid uppstart. Ett säkerhetsbalk lägger till NoNewPrivileges, PrivateTmp, ProtectSystem och ProtectHome med ett klick vardera, vilket motsvarar vad många distributioner redan använder för sandboxing i sina egna servicefiler.

Om du väljer timer, socket eller mount fylls de delade avsnitten [Unit] och [Install] fortfarande i, men den typspecifika blocken lämnas som en kommentar istället för att gissa OnCalendar=, ListenStream= eller What=/Where=-syntax som den inte kan verifiera — se cron till systemd timer-omvandlaren för ett färdigt schema. Enhetsnamnet saneras till de tecken som systemd tillåter, och verktyget varnar istället för att frysa om ett fält klistras in i absurt stor storlek.

Allt körs lokalt i din webbläsare: ingenting du skriver, inklusive värdnamn, sökvägar eller autentiseringsuppgifter i EnvironmentFile, skickas någonsin någonstans. Kopiera resultatet, ladda ner det som en .txt-fil för att byta namn och installera själv, eller skicka det till ett annat verktyg för att fortsätta redigera.

FAQ

Var placerar jag den genererade filen?
Spara det som /etc/systemd/system/<name>.service (eller .timer/.socket/.mount), kör sedan systemctl daemon-reload följt av systemctl enable --now <name>.
Varför lämnas den typspecifika blocken som en kommentar när timer eller socket väljs?
Dessa enhetstyper använder direktiv som denna generator inte tillverkar för dig — OnCalendar= för en timer, ListenStream= för en socket, What=/Where= för ett mount. Lägg till dem där kommentaren pekar istället för att kopiera den gissade syntaxen.
Vad gör säkerhetsblocket egentligen?
NoNewPrivileges blockerar behörighetsökning, PrivateTmp ger tjänsten sin egen /tmp, och ProtectSystem/ProtectHome gör det mesta av filsystemet skrivskyddat eller otillgängligt för det. Tillsammans matchar de sandboxingen som många distributioner redan använder i sina tjänster.
Kan jag generera en enhet för flera miljövariabler på en gång?
Ja. Lista dem komma- eller radavgränsade som KEY=VALUE-par i fältet Miljövariabler; var och en blir sin egen Environment=-rad, och felaktiga poster hoppar över istället för att bryta filen.
Skickas något jag skriver till en server?
Nej. Enhetsfilen genereras helt i din webbläsare — inklusive alla sökvägar, värdnamn eller miljövärden du anger — och ingenting laddas upp.