Eu consertei isso adicionando as seguintes linhas ao arquivo abaixo.
Restart=on-failure
RestartSec=00ms
O arquivo final ficará assim.
sudo systemctl edit snappy-set-hostname.service
[Unit]
Description=Set the hostname to the value stored on the writable partition
After=etc-writable.mount
Requires=local-fs.target
DefaultDependencies=no
After=local-fs.service
RequiresMountsFor=/ /etc
StartLimitBurst=100
[Service]
Type=simple
ExecStart=
ExecStart=/bin/hostname -F /etc/hostname
Restart=on-failure
RestartSec=500ms
Como estou criando uma substituição para o arquivo padrão do sistema encontrado aqui /lib/systemd/system/snappy-set-hostname.service
. Ele cria um novo arquivo aqui /etc/systemd/system/snappy-set-hostname.service.d/override.conf.
É por isso que acabei colocando o seguinte em
ExecStart=
ExecStart=/bin/hostname -F /etc/hostname
Caso contrário, ele tentará incluir o ExecStart do /lib/systemd
, bem como do /etc/systemd
, o que pode causar problemas. Como ele tenta executá-lo duas vezes.
Se você está vendo o seguinte
Mar 31 08:38:06 some-machine systemd[1]: [/etc/systemd/system/snappy-set-hostname.service.d/override.conf:1] Assignment outside of section. Ignoring.
É porque você precisa usar nomes de seção [Unit]
e [Service]
etc conforme necessário em sua substituição.