Saltar al contenido

generador de archivos de unidad systemd

Crear un archivo .service, .timer, .socket o .mount de systemd válido a partir de unos pocos campos.

Salida

generador de archivos de unidad systemd

Sin necesidad de archivo de configuración: solo rellena unos pocos campos y esta herramienta escribe un archivo de unidad systemd completo que puedes colocar directamente en /etc/systemd/system/. Cubre los cuatro tipos de unidades que los administradores de systemd escriben manualmente con mayor frecuencia: servicio, temporizador, socket y montaje, y produce las secciones [Unit], [Service] e [Install] con las directivas en el orden que systemd espera.

Para una unidad de servicio, establece la descripción y la URL de documentación, el comando ExecStart (con ganchos opcionales de ExecStartPre y ExecStop), el Tipo de servicio (simple, exec, forking, oneshot o notify), el usuario y grupo con el que ejecutar, un directorio de trabajo y variables de entorno ya sea en línea o a través de EnvironmentFile. La política de reinicio y RestartSec controlan cómo reacciona systemd cuando el proceso muere; After y Requires configuran el ordenamiento de dependencias, y WantedBy establece qué destino extrae la unidad al inicio. Un bloque de endurecimiento añade NoNewPrivileges, PrivateTmp, ProtectSystem y ProtectHome con un clic cada uno, que es la mayoría de lo que los archivos de servicio propios de una distribución usan para el aislamiento.

Elegir temporizador, socket o montaje en su lugar sigue rellenando las secciones compartidas [Unit] e [Install], pero deja el bloque específico del tipo como comentario en lugar de adivinar la sintaxis de OnCalendar=, ListenStream= o What=/Where= que no puede verificar — consulta el convertidor de cron a temporizador systemd para una programación lista. El nombre de la unidad se sanitiza a los caracteres que systemd permite, y la herramienta advierte en lugar de congelarse si un campo se pega en un tamaño absurdamente grande.

Todo se ejecuta localmente en tu navegador: nada de lo que escribas, incluidos nombres de host, rutas o credenciales en EnvironmentFile, se envía nunca. Copia el resultado, descárgalo como archivo .txt para renombrarlo e instalarlo tú mismo, o envíalo a otra herramienta para seguir editando.

Preguntas frecuentes

¿Dónde coloco el archivo generado?
Guárdalo como /etc/systemd/system/<nombre>.service (o .timer/.socket/.mount), luego ejecuta systemctl daemon-reload seguido de systemctl enable --now <nombre>.
¿Por qué elegir "temporizador" o "socket" deja parte del archivo como comentario?
Esos tipos de unidades utilizan directivas que este generador no fabrica para ti — OnCalendar= para un temporizador, ListenStream= para un socket, What=/Where= para un montaje. Añádelas donde el comentario señala en lugar de copiar sintaxis adivinada.
¿Qué hace realmente el bloque de endurecimiento?
NoNewPrivileges bloquea la escalada de privilegios, PrivateTmp le da al servicio su propio /tmp, y ProtectSystem/ProtectHome hacen que la mayoría del sistema de archivos sea de solo lectura o inaccesible para él. Juntos coinciden con el aislamiento que muchos servicios proporcionados por la distribución ya usan.
¿Puedo generar una unidad para múltiples variables de entorno a la vez?
Sí. Enumera cada una separada por comas o saltos de línea como pares KEY=VALUE en el campo de variables de entorno; cada una se convierte en su propia línea Environment=, y las entradas mal formadas se omiten en lugar de romper el archivo.
¿Se envía algo que escribo a un servidor?
No. El archivo de unidad se genera completamente en tu navegador — incluyendo cualquier ruta, nombre de host o valor de entorno que introduzcan — y nada se carga.