Que formatação é permitida para as linhas de opções do systemd em geral?

1

Estou escrevendo alguns arquivos de serviço do systemd atualmente e me pergunto sobre o que é permitido para formatar corretamente o conteúdo deles para que eu possa melhorar a legibilidade e tal para mim. É praticamente uma questão sobre se eu sou capaz de implementar algum estilo de código.

O que eu tenho leia até agora é sobre suporte para comentários, que algumas opções suportam espaços para eg uma lista de valores e \ podem ser usados para concatenar várias linhas. Isso é praticamente como conselhos gerais. O que eu não li é a documentação completa sobre os pares de valores-chave, por exemplo, se alguém tiver permissão para colocar espaços ou tabulações antes / depois de um nome de chave e antes de um valor para recuar linhas e todas essas coisas.

O seguinte é um exemplo do que eu estou perguntando:

[Unit]
Description=some pretty long description \
            spanning multiple lines
RequiresMountsFor=/tmp

vs.

[Unit]
Description       = some pretty long description \
                    spanning multiple lines
RequiresMountsFor = /tmp

vs.

[Unit]
    Description       = some pretty long description \
                        spanning multiple lines
    RequiresMountsFor = /tmp

Existe algum documento disponível descrevendo o que é possível em relação à formatação das opções? Ou é a falta de tal já o sinal de que o que eu gostaria de ter não é possível em tudo? Outro seria documentado na página do manual ...

    
por Thorsten Schöning 02.02.2018 / 12:38

2 respostas

0

A partir de abril de 2016 , não há uma definição formal da sintaxe .

Acho que o mais próximo que você estiver bem na documentação é esta linha:

The syntax is inspired by XDG Desktop Entry Specification .desktop files, which are in turn inspired by Microsoft Windows .ini files.

...

Note that using multiple assignments to the same value makes the unit file incompatible with parsers for the XDG .desktop file format.

De lá, podemos acessar a seção que descreve o "formato básico do arquivo" , que afirma:

Entries

Entries in the file are {key,value} pairs in the format:

Key=Value

Space before and after the equals sign should be ignored; the = sign is the actual delimiter.

Only the characters A-Za-z0-9- may be used in key names.

As the case is significant, the keys Name and NAME are not equivalent.

Multiple keys in the same group may not have the same name. Keys in different groups may have the same name.

Infelizmente, de acordo com algumas mensagens da lista de discussão , desvie em alguns lugares ... e olhando para o código-fonte do analisador, não parece haver nenhuma documentação explícita.

Você pode usar systemd-analyze verify <file> para validar seus arquivos de unidade. link

    
por 02.02.2018 / 15:19
0

Gostaria de visitar a página systemd man no seu sistema. O formato parece ser especificado na secção 5, e. veja aqui . Você pode invocar isso, por exemplo por man 5 systemd .

    
por 02.02.2018 / 12:47

Tags