Onde estão os arquivos de configuração do systemd?

2

Como habilito unidades específicas em alvos específicos? Uma vez ativado, onde está a configuração armazenada?

    
por karthik 08.12.2014 / 15:46

1 resposta

1

Como Hauke Laging disse, systemctl enable ... imprimirá informações sobre o que está sendo feito. Por exemplo, no meu sistema Arch, se eu ativar o dhcpd service na interface enp0s3 ...

$ systemctl enable dhcpcd@enp0s3
Created symlink from /etc/systemd/system/multi-user.target.wants/[email protected]
to /usr/lib/systemd/system/[email protected]

Ao desativar este mesmo serviço, você pode ver que systemctl remove este link anterior ...

$ systemctl disable dhcpcd@enp0s3
Removed symlink /etc/systemd/system/multi-user.target.wants/[email protected]

Então, desta saída, você pode dizer que ...

  • Ao chamar systemctl enable , um link simbólico é criado em /etc/systemd/system/multi-user.target.wants .
  • Ao chamar systemctl disable , esse link simbólico é removido.

Portanto, se você deseja obter uma lista de serviços habilitados (o que você está chamando de "a configuração", suponho), tudo o que você precisa fazer é listar esses links:

ls /etc/systemd/system/multi-user.target.wants

No entanto, você pode encontrar mais informações usando systemctl list-unit-files , que listará todos os serviços disponíveis e seu status (ativado, desativado, estático). Você verá que os habilitados têm um link em algum lugar abaixo de /etc/systemd/system , de acordo com as unidades a que pertencem.

$ find /etc/systemd/system -type l

Enquanto os diretórios podem mudar para algumas distribuições, eles são o modo em que systemd (e outros sistemas antes dele) controlam suas configurações. Enquanto /etc/systemd contém vários arquivos de configuração, as configurações específicas da unidade são tratadas por meio de links. Para mim, este método é muito mais prático que arquivos, pois permite aos desenvolvedores fornecer unidades junto com seus pacotes (instalados em /usr/lib/systemd/system ), mas ainda dá controle ao administrador, que decide quais unidades devem ser agendadas. no sistema.

Se você estiver interessado, o Arch Wiki realmente fornece uma boa introdução ao systemd . O RHEL também tem algumas informações sobre o assunto em sua documentação .

    
por 08.12.2014 / 16:48

Tags