3.5.6. Trabalhando com unidades instanciadas
É possível instanciar múltiplas unidades a partir de um único arquivo de configuração de modelo em tempo de execução. O caractere "@" é usado para marcar o modelo e para associar unidades a ele. As unidades instantâneas podem ser iniciadas a partir de outro arquivo de unidade (usando as opções Requires ou Wants ), ou com o comando systemctl start. As unidades de serviço instantâneas são nomeadas da seguinte forma:
template_name@instance_name.serviço
template_name@instance_name.serviço
Onde template_name representa o nome do arquivo de configuração do modelo. Substituir instance_name pelo nome da instância da unidade. Várias instâncias podem apontar para o mesmo arquivo de modelo com opções de configuração comuns para todas as instâncias da unidade. O nome da unidade de modelo tem a forma de:
unit_name@.service
unit_name@.service
Por exemplo, a seguinte configuração Wants em um arquivo de unidade:
Wants=getty@ttyA.service getty@ttyB.service
Wants=getty@ttyA.service getty@ttyB.service
primeiro faz a busca por unidades de serviço. Se tais unidades não forem encontradas, a parte entre "@" e o sufixo de tipo é ignorada e systemd pesquisa o arquivo getty@.service, lê a configuração a partir dele, e inicia os serviços.
Por exemplo, o modelo getty@.service contém as seguintes diretrizes:
Quando os modelos getty@ttyA.service e getty@ttyB.service são instanciados a partir do modelo acima, Description= é resolvido como Getty on ttyA e Getty on ttyB.
3.5.6.1. Especificadores importantes de unidades Copiar o linkLink copiado para a área de transferência!
Os caracteres curinga, chamados unit specifiers, podem ser usados em qualquer arquivo de configuração de unidade. Os especificadores de unidade substituem certos parâmetros de unidade e são interpretados em tempo de execução. Tabela 3.13, “Especificadores importantes de unidades” lista os especificadores de unidade que são particularmente úteis para unidades modelo.
| Especificador da unidade | Significado | Descrição |
|---|---|---|
|
| Nome completo da unidade |
Representa o nome completo da unidade incluindo o sufixo do tipo. |
|
| Nome do prefixo | Significa um nome de unidade com o sufixo do tipo removido. Para unidades instanciadas, %p significa a parte do nome da unidade antes do caractere "@\ @". |
|
| Nome da instância |
É a parte do nome da unidade instanciada entre o caractere "@" e o sufixo de tipo. |
|
| Nome do anfitrião | Representa o nome do sistema em funcionamento no momento em que a configuração da unidade é carregada. |
|
| Diretório de tempo de execução |
Representa o diretório de tempo de execução, que é |
Para uma lista completa dos especificadores de unidades, consulte a página do manual systemd.unit(5).