Arquivos unitários gerados não são ativados automaticamente pelo systemd. Não há nada especial sobre eles no que diz respeito ao systemd. Cada gerador individual tem que criar explicitamente links simbólicos que conectam uma unidade gerada a um destino, de forma que ativar o alvo ativa a unidade gerada por meio de uma dependência da maneira normal.
Isso tira proveito do fato de que nem todas as conexões entre as unidades são expressas dentro dos arquivos da unidade. As dependências Wants and Requires podem ser expressas com farms de link simbólico nos subdiretórios *.wants/
e *.requires/
. E esses farms de links simbólicos abrangem subdiretórios de /run/systemd/
entre outras coisas.
Em outras palavras: Em vez de gravar uma unidade com WantedBy=local-fs.target
e, em seguida, precisar invocar explicitamente sytemctl enable
para criar o link simbólico (que é o que permite), o gerador interrompe o processo e torna o simbólico ligar-se. E isso o torna em um lugar efêmero, o que systemctl enable
normalmente não faria, evitando assim que o link simbólico continuasse a existir após o próximo desligamento e confundindo a próxima inicialização.
Especificamente, você encontrará no seu sistema que /run/systemd/generator/boot.mount
está simbolicamente vinculado a partir de /run/systemd/generator/local-fs.target.wants/boot.mount
. systemd-fstab-generator
criou este link simbólico , e torna boot.mount
desejado por local-fs.target
. O gerador é executado no início do bootstrap antes que o sistema rode para ativar o local-fs.target
, o que significa que quando ele ativar a local-fs.target
, a dependência gerada estará lá para ser seguida.
Leitura adicional
- link
- Jonathan de Boyne Pollard (2016). " Caminhos de pesquisa do sistema em falta a partir da página de manual
systemd.unit
". Errata para o systemd doco . Respostas frequentemente dadas.