Usando o Systemctl

O sistema de inicialização ativa os componentes que precisam iniciar após o carregamento do kernel.

Nas novas distribuições do Linux, o Systemd gerencia a inicialização do sistema.

O Systemd trabalha com "units", arquivos com informações sobre o alvo (target) gerenciado.

Os "units" possuem várias categorias, dependendo do recurso que descreve. O nome da categoria vai sempre no final do arquivo. Exemplos:
  • .service: informações sobre um serviço. (Ex: apache2.service)
  • .device: dispositivos manuseados pelo udev
  • .swap: descritor do espaço de swap do sistema.
Os arquivos "unit" possuem formatação especial. Veja as regras para criar um arquivo "unit".

O comando systemctl é a principal ferramenta do Systemd, podendo ser utilizado para:

1) Gerenciar serviços:

sudo systemctl "ação" "nome_do_serviço".service

Exemplo: sudo systemctl start apache2.service

Ações principais:
  • start, stop, restart, reload, reload-or-restart, status 
  • enable, disable (habilita/desabilita inicialização no boot)
  • is-active, is-enabled, is-failed
2) Apresentar uma visão geral do sistema:

sudo systemctl list-units 
sudo systemctl list-units --all
sudo systemctl list-units --all --state=inactive
sudo systemctl list-units --type=service

Comandos Mais Comuns

Aqui estão os comandos que você mais usará no dia a dia:

1. Verificando o Status de um Serviço

Este é o comando mais útil para diagnosticar problemas. Ele mostra se um serviço está em execução, se falhou, há quanto tempo está ativo, e exibe as últimas linhas de log.

$ systemctl status apache2.service

(ou httpd.service dependendo da distribuição)

2. Iniciando, Parando e Reiniciando Serviços

Esses comandos são essenciais para o gerenciamento de serviços.

Iniciar um serviço:

$ sudo systemctl start apache2.service

Parar um serviço:

$ sudo systemctl stop apache2.service

Reiniciar um serviço:

$ sudo systemctl restart apache2.service

Recarregar a configuração de um serviço:

Se você alterar um arquivo de configuração de um serviço (por exemplo, o arquivo sshd_config do SSH), você pode recarregar as novas configurações sem precisar reiniciar o serviço. Isso é mais rápido e evita interrupções.

$ sudo systemctl reload sshd.service

Gerenciando Serviços na Inicialização (Boot)

Uma das maiores vantagens do systemctl é o gerenciamento de quais serviços são iniciados automaticamente quando o sistema liga.

Habilitar um serviço:

Isso cria um link simbólico para que o serviço seja iniciado automaticamente na próxima inicialização do sistema.

$ sudo systemctl enable apache2.service

Desabilitar um serviço:

Isso remove o link simbólico, impedindo que o serviço inicie automaticamente.

$ sudo systemctl disable apache2.service

Verificar se um serviço está habilitado:

$ systemctl is-enabled apache2.service

O comando retornará enabled, disabled ou static.

Outros Comandos Úteis

Listar todos os serviços ativos:

$ systemctl list-units --type=service

Você pode usar | grep para procurar um serviço específico, como systemctl list-units --type=service | grep sshd.

Listar todos os serviços (ativos e inativos):

$ systemctl list-units --type=service --all

O systemctl é uma ferramenta poderosa e versátil, e dominar seus comandos é fundamental para qualquer administrador de sistema Linux.

Postagem Anterior Próxima Postagem

Formulário de contato