Ir para o conteúdo
Totalmente local

Gerador de ficheiro de unidade systemd

Crie um ficheiro .service, .timer, .socket ou .mount do systemd válido a partir de alguns campos.

Saída

Gerador de ficheiro de unidade systemd

Não cole ficheiro de configuração nenhum — apenas preencha alguns campos e esta ferramenta escreve um ficheiro de unidade systemd completo que pode lançar diretamente em /etc/systemd/system/. Cobre os quatro tipos de unidade que os administradores systemd escrevem manualmente com mais frequência: serviço, temporizador, socket e montagem, e produz as secções [Unit], [Service] e [Install] com as diretivas na ordem que systemd espera.

Para uma unidade de serviço, defina a descrição e URL de documentação, o comando ExecStart (com ganchos opcionais ExecStartPre e ExecStop), o Tipo de serviço (simples, exec, bifurcação, disparo-único ou notificação), o utilizador e grupo para executar como, um diretório de trabalho e variáveis de ambiente inline ou via EnvironmentFile. A política de reinicialização e RestartSec controlam como systemd reage quando o processo morre; After e Requires ordenam as dependências, e WantedBy define qual alvo puxa a unidade no arranque. Um bloco de endurecimento adiciona SemPrivilegiosNovos, TmpPrivado, ProtegeSystem e ProtegeHome com um clique cada, que é a maioria do que os próprios ficheiros de serviço de uma distribuição usam para sandbox.

Escolher temporizador, socket ou montagem ao invés disso ainda preenche as secções compartilhadas [Unit] e [Install], mas deixa o bloco específico do tipo como comentário em vez de adivinhar a sintaxe OnCalendar=, ListenStream= ou What=/Where= que não pode verificar — veja o conversor de cron para temporizador systemd para um cronograma pronto. O nome da unidade é sanitizado para os caracteres que systemd permite, e a ferramenta avisa em vez de congelar se um campo for colado de forma absurdamente grande.

Tudo funciona localmente no seu navegador: nada do que escreve, incluindo nomes de máquinas, caminhos ou credenciais em EnvironmentFile, é nunca enviado a qualquer lado. Copie o resultado, transfira-o como ficheiro .txt para renomear e instalar você mesmo, ou envie-o para outra ferramenta para continuar a editar.

FAQ

Onde devo colocar o ficheiro gerado?
Guarde-o como /etc/systemd/system/<nome>.servico (ou .temporizador/.socket/.montagem), depois execute systemctl daemon-reload seguido por systemctl enable --now <nome>.
Porque é que escolher "temporizador" ou "socket" deixa parte do ficheiro como comentário?
Esses tipos de unidade usam diretivas que este gerador não fabrica para si — OnCalendar= para um temporizador, ListenStream= para um socket, What=/Where= para uma montagem. Adicione-as onde o comentário aponta em vez de copiar sintaxe adivinhada.
O que faz exatamente o bloco de endurecimento?
SemPrivilegiosNovos bloqueia escalonamento de privilégios, TmpPrivado dá ao serviço o seu próprio /tmp, e ProtegeSystem/ProtegeHome tornam a maioria do sistema de ficheiros apenas de leitura ou inacessível a ele. Juntos, eles correspondem ao sandbox que muitos serviços enviados pela distribuição já usam.
Posso gerar uma unidade para múltiplas variáveis de ambiente de uma vez?
Sim. Enumere-as separadas por vírgula ou nova linha como pares KEY=VALOR no campo de variáveis de ambiente; cada uma torna-se a sua própria linha Environment=, e as entradas malformadas são ignoradas em vez de quebrar o ficheiro.
Algo do que escrevo é enviado para um servidor?
Não. O ficheiro de unidade é gerado inteiramente no seu navegador — incluindo quaisquer caminhos, nomes de máquinas ou valores de ambiente que introduza — e nada é enviado.