Unidades Systemd: [Instalar] vs. comando: start (cloud-config)

1

Estou configurando o systemd em um arquivo cloud-config para o CoreOS. Se eu entendi isso corretamente, eu tenho duas maneiras de iniciar uma unidade na inicialização:

Alternativa 1, use a seção [Install] (conforme descrito em oceanos digitais guias :

- name: initialize_data
  content: |
    [Unit]
    Description=Run a command

    [Service]
    Type=oneshot
    ExecStart=/usr/bin/mkdir /foo

    [Install]
    WantedBy=multi-user.target

Alternativa 2, elimine a seção [Install] e use command: start :

- name: initialize_data
  command: start
  content: |
    [Unit]
    Description=Run a command

    [Service]
    Type=oneshot
    ExecStart=/usr/bin/mkdir /foo

Existe alguma desvantagem de iniciar a unidade usando command: start ? Eu entendo que não posso controlar qual unidade vai começar depois, mas mais alguma coisa? Honrará [Unit] -diretas como Requires= e After= ?

    
por gogstad 15.03.2017 / 16:47

1 resposta

0

Aparece no CoreOS há pouca diferença. Quando o systemd é usado em outras distribuições do Linux, a distinção é que start apenas inicia um serviço, não o faz iniciar na inicialização . Isso é o que o enable faz, processando a seção [Install] de um arquivo systemd.

No entanto, os documentos do CoreOS dizem que os comandos cloud-config são processados em cada inicialização. Então, especificando um serviço para start a cloud-config , o serviço é essencialmente ativado também.

O CoreOS provavelmente inclui as duas opções para oferecer a flexibilidade total de acessar os recursos de systemd .

    
por 15.03.2017 / 18:15