Como verificar se uma unidade systemd está habilitada no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar o status das unidades systemd no Linux. Você usará o comando systemctl is-enabled para determinar se uma unidade está configurada para iniciar automaticamente na inicialização, e o comando systemctl list-units para listar as unidades ativas. Finalmente, você explorará a localização dos arquivos de unidade systemd no diretório /etc/systemd. Este laboratório fornecerá habilidades essenciais para gerenciar serviços e entender o processo de inicialização do systemd.

Verificar o status da unidade com systemctl is-enabled

Nesta etapa, você aprenderá como verificar o status das unidades systemd usando o comando systemctl is-enabled.

Systemd é um gerenciador de sistema e serviços para Linux. Ele gerencia processos após o processo de inicialização inicial. Uma "unidade" (unit) no systemd refere-se a um arquivo de configuração que descreve como um serviço, dispositivo, ponto de montagem ou outro recurso do sistema deve ser tratado.

O comando systemctl is-enabled verifica se uma unidade está configurada para iniciar automaticamente na inicialização. Isso é importante para serviços que você deseja executar sempre que o sistema iniciar.

Vamos verificar o status do serviço ssh. O serviço SSH (Secure Shell) permite que você se conecte ao seu servidor remotamente.

Abra seu terminal, caso ainda não esteja aberto. Você pode encontrar o ícone do Xfce Terminal no lado esquerdo da sua área de trabalho.

Digite o seguinte comando e pressione Enter:

systemctl is-enabled ssh

Você deve ver uma saída semelhante a esta:

enabled

Esta saída indica que o serviço ssh está configurado para iniciar automaticamente quando o sistema inicializa.

Agora, vamos verificar o status de um serviço que pode não estar habilitado por padrão, como apache2 (um servidor web).

Digite o seguinte comando e pressione Enter:

systemctl is-enabled apache2

Você pode ver uma saída como esta:

disabled

Isso significa que o serviço apache2 não está configurado para iniciar automaticamente na inicialização.

Compreender se um serviço está habilitado ou desabilitado é crucial para gerenciar seu sistema e garantir que os serviços necessários estejam em execução após uma reinicialização.

Lembre-se, o comando systemctl is-enabled apenas informa se um serviço está configurado para iniciar na inicialização, não se ele está atualmente em execução. Você aprenderá como verificar se um serviço está em execução em uma etapa posterior.

Clique em Continuar para prosseguir para a próxima etapa.

Listar unidades com systemctl list-units

Nesta etapa, você aprenderá como listar as unidades systemd ativas usando o comando systemctl list-units.

Enquanto systemctl is-enabled informa se uma unidade está configurada para iniciar na inicialização, systemctl list-units mostra quais unidades estão atualmente carregadas e ativas na memória do sistema. Isso é útil para ver quais serviços, dispositivos e outros recursos estão sendo gerenciados atualmente pelo systemd.

Abra seu terminal, caso ainda não esteja aberto.

Digite o seguinte comando e pressione Enter:

systemctl list-units

Você verá uma longa lista de unidades. A saída normalmente inclui colunas como:

  • UNIT: O nome da unidade.
  • LOAD: Se a configuração da unidade foi carregada na memória.
  • ACTIVE: O estado de ativação da unidade de alto nível (por exemplo, active, inactive, failed).
  • SUB: O estado de ativação da unidade de baixo nível (por exemplo, running, exited, waiting).
  • DESCRIPTION: Uma breve descrição da unidade.

A lista pode ser bastante extensa. Para torná-la mais gerenciável, você pode filtrar a saída. Por exemplo, para ver apenas unidades de serviço (unidades que terminam em .service), você pode usar:

systemctl list-units --type service

Este comando mostrará uma lista de todos os serviços atualmente ativos.

Você também pode usar grep para pesquisar unidades específicas na saída. Por exemplo, para encontrar o serviço ssh:

systemctl list-units | grep ssh

Isso mostrará a linha correspondente à unidade ssh.service se ela estiver ativa.

O comando systemctl list-units é uma ferramenta poderosa para entender o estado atual do seu sistema e os processos que estão sendo gerenciados pelo systemd. Experimente diferentes opções e grep para encontrar as informações que você precisa.

Clique em Continuar para passar para a próxima etapa.

Inspecionar arquivos de unidade em /etc/systemd

Nesta etapa, você explorará onde o systemd armazena seus arquivos de configuração de unidade e como visualizar seu conteúdo.

Os arquivos de unidade do systemd, que definem como os serviços e outros recursos são gerenciados, estão normalmente localizados no diretório /etc/systemd/system/. Este diretório contém arquivos de unidade instalados pelo administrador do sistema ou por pacotes.

Vamos navegar para este diretório e listar seu conteúdo.

Abra seu terminal, caso ainda não esteja aberto.

Primeiro, altere seu diretório atual para /etc/systemd/system/ usando o comando cd:

cd /etc/systemd/system/

Agora, liste os arquivos neste diretório usando o comando ls:

ls

Você verá uma lista de arquivos .service, .target e outros arquivos de unidade. Esses arquivos contêm as instruções para o systemd sobre como lidar com cada unidade.

Vamos inspecionar o conteúdo do arquivo ssh.service usando o comando cat. Lembre-se, você está atualmente no diretório /etc/systemd/system/, então você pode se referir ao arquivo diretamente por seu nome.

cat ssh.service

Você verá o conteúdo do arquivo ssh.service. Este arquivo é um arquivo de texto simples com diferentes seções e diretivas que informam ao systemd como iniciar, parar e gerenciar o serviço SSH.

Por exemplo, você pode ver seções como [Unit], [Service] e [Install].

  • A seção [Unit] contém informações gerais sobre a unidade e suas dependências.
  • A seção [Service] define os comandos a serem executados para iniciar e parar o serviço.
  • A seção [Install] contém informações sobre como a unidade deve ser instalada e habilitada.

Compreender a estrutura e o conteúdo desses arquivos de unidade é fundamental para a administração avançada do sistema com systemd. Embora os detalhes possam ser complexos, simplesmente saber onde encontrá-los e como visualizá-los é um ótimo começo.

Você pode usar less em vez de cat para visualizar o conteúdo do arquivo página por página, o que é útil para arquivos maiores:

less ssh.service

Pressione q para sair do less.

Clique em Continuar para concluir este laboratório.

Resumo

Neste laboratório, você aprendeu como verificar se uma unidade systemd está habilitada para iniciar automaticamente na inicialização usando o comando systemctl is-enabled. Você praticou isso verificando o status dos serviços ssh e apache2, entendendo que "habilitado" (enabled) significa que a unidade iniciará na inicialização, enquanto "desabilitado" (disabled) significa que não iniciará.

Você também aprendeu como listar as unidades systemd ativas usando o comando systemctl list-units, que fornece uma visão mais ampla das unidades atualmente em execução ou carregadas no sistema. Por fim, você explorou como inspecionar os arquivos de configuração das unidades systemd localizados no diretório /etc/systemd, obtendo informações sobre como as unidades são definidas e configuradas.