O systemd é um sistema de inicialização (init system) e gerenciamento de serviços usado em várias distribuições Linux. Ele é responsável por iniciar, gerenciar e parar serviços e outros processos no sistema operacional, controlando todo o ciclo de vida desses componentes desde a inicialização até o desligamento.
Aqui estão alguns pontos-chave sobre o systemd:
-
Inicia serviços: O systemd substitui o tradicional sistema init (como o SysVinit) e inicia serviços de forma paralela, o que torna a inicialização mais rápida.
-
Unidades (units): O systemd organiza e controla processos usando arquivos chamados “unidades” (units). Existem vários tipos de unidades, como:
- Serviço (service): Para gerenciar serviços da web, banco de dados, entre outros.
- Socket: Para serviços baseados em rede ou comunicação entre processos.
- Montagem (mount): Para pontos de montagem de sistemas de arquivos.
- Alvo (target): Conjuntos de unidades usadas para agrupar diferentes estados, como iniciar todos os serviços de rede ou parar tudo durante o desligamento.
-
Controle de dependências: O systemd é capaz de controlar a ordem em que os serviços são iniciados, garantindo que dependências entre serviços sejam resolvidas corretamente (por exemplo, garantir que o serviço de rede seja iniciado antes do serviço que depende da conexão de rede).
-
Facilidade de gerenciamento: Com comandos como
systemctl
, o systemd permite que você inicie, pare, habilite ou desabilite serviços facilmente. -
Journald: O systemd inclui um sistema de registro de logs chamado journald, que coleta e organiza logs de todo o sistema, facilitando a análise e solução de problemas.
Exemplo de uso do systemctl
:
- Para iniciar um serviço:
- Para habilitar um serviço para inicialização automática:
Configuração
Passo 1: Crie um Script
Primeiro, crie o script shell que você quer executar na inicialização.
- Crie o script:
- Adicione os comandos ao script. Por exemplo:
- Torne o script executável:
Passo 2: Crie um Serviço systemd
Agora, crie um novo arquivo de serviço systemd que irá executar o script na inicialização.
- Crie o arquivo de serviço:
- Adicione o seguinte conteúdo ao arquivo:
- Salve e feche o arquivo.
Passo 3: Habilitar e Iniciar o Serviço
- Recarregue o daemon do systemd para que ele reconheça o novo serviço:
- Habilite o serviço para ser executado na inicialização:
- Inicie o serviço para testar se ele está funcionando:
Passo 4: Verificar
Você pode verificar se o script foi executado na inicialização consultando o arquivo de log (ou qualquer saída gerada pelo seu script).
Esse procedimento garante que o seu script shell seja executado toda vez que a máquina for iniciada.