29Aug

Como gerenciar serviços Systemd em um sistema Linux

Systemd agora é usado por padrão na maioria das distribuições Linux, do Fedora e Red Hat para Ubuntu, Debian, openSUSE e Arch. O comando systemctl permite que você obtenha informações sobre o status do sistema e controle os serviços em execução.

Apesar da controvérsia, isso, pelo menos, introduz uma certa padronização em distribuições Linux. Os mesmos comandos permitirão administrar serviços da mesma maneira em qualquer distribuição Linux usando systemd.

Nota : Para modificar a configuração do seu sistema na distribuição do Linux, como o Ubuntu que usa o sudo, você precisará preferir os comandos aqui com sudo .Em outras distribuições do Linux, você precisará se tornar o usuário root com o comando su primeiro.

Verifique se o seu sistema Linux está usando o SystemD

Se você não tem certeza se a distribuição do Linux está usando systemd, abra uma janela do Terminal e execute o seguinte comando. Isso mostra o número de versão do systemd no seu sistema Linux, se o sistema estiver instalado:

systemd -version

Analise o processo de inicialização

O comando systemd-analyze permite visualizar informações sobre o processo de inicialização, como por exemplolevou e quais serviços( e outros processos) adicionaram mais tempo ao processo de inicialização.

Para visualizar informações sobre o processo de inicialização em geral, execute este comando:

systemd-analyze

Para visualizar o tempo que cada processo demorou, execute este comando:

systemd-analyze blame

View Units

Systemd usa "unidades", o quepodem ser serviços( .service), pontos de montagem( .mount), dispositivos( .device) ou soquetes( .socket).O mesmo comando systemctl gerencia todos esses tipos de unidades.

Para visualizar todos os arquivos de unidades disponíveis no seu sistema:

systemctl lista-unidade-arquivos

Para listar todas as unidades em execução:

systemctl list-units

Para listar todas as unidades com falha:

Systemctl -failed

Gerenciar serviços

Para exibir uma lista deserviços habilitados e desativados, você usa o mesmo comando systemctl como acima, mas diga para que apenas liste serviços:

systemctl list-unit-files -type = serviço

O comando systemctl permite que você comece, pare ou reinicie um serviço. Você também pode informar um serviço para "recarregar" sua configuração.

O comando de status é a única ação aqui que será impressa e enviada para o terminal. Os outros comandos terão efeito silencioso.

systemctl start name.service

systemctl stop name.service

systemctl reiniciar name.service

systemctl recarregar name.service

systemctl status name.service

Use o comando systemctl enable para que systemd inicie automaticamente um serviço( ou outro tipo de unidade)no arranque. O comando systemctl disable desabilita os serviços e impede que ele seja iniciado automaticamente com seu computador.

systemctl enable name.service

systemctl desativar name.service

Você pode "mascarar" um serviço ou outra unidade para evitar que ele seja iniciado. Você precisará desmascará-lo antes que ele possa começar no futuro:

systemctl mask name.service

systemctl unmask name.service

Há muito mais para systemd e seus vários comandos do que isso, é claro. O Systemd oferece uma variedade ou comandos de gerenciamento de energia para desligar, reiniciar, hibernar e, de outra forma, controlar o estado de energia do sistema. Você pode escrever seus próprios arquivos de unidade para criar serviços e montar pontos ou editar os arquivos de unidades existentes.

Systemd também oferece "alvos", que são semelhantes aos níveis de execução, mas diferentes. Em vez de um número, os alvos têm nomes - é possível que systemd esteja em múltiplos estados de destino ao mesmo tempo. O Systemd também oferece seu próprio diário do sistema, que pode ser acessado com o comando journalctl. Por padrão, ele armazena logs do sistema em formato binário - mas você pode alternar para logs de formato de texto simples, se preferir.

O wiki do Arch Linux possui informações mais aprofundadas sobre systemd e a maioria das informações aplicadas no systemd em todas as distribuições do Linux. Você também deve verificar a documentação do sistema da sua distribuição Linux para obter mais informações.

Crédito de imagem: Bert Heymans no Flickr