Todos os produtos
Search
Central de documentação

:Troubleshoot systemctl errors on a Linux instance

Última atualização: Jul 03, 2026

Resolva erros do systemctl causados por um sistema init diferente do systemd ou por uma configuração corrompida do systemd.

Sintoma

Ao executar o systemctl em uma instância Linux, um dos seguintes erros é retornado:

System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to get D-Bus connection: xxx xxx.

Causa

O systemctl é a ferramenta de linha de comando do systemd, o sistema init e gerenciador de serviços do Linux. Esses erros ocorrem pelos seguintes motivos:

  • O sistema não usa o systemd como sistema init.

    • Algumas distribuições Linux mais antigas ou leves (como Devuan, Alpine Linux ou Void Linux) usam outros sistemas init (como OpenRC, SysVinit ou runit) por padrão. Por exemplo, o Windows Subsystem for Linux (WSL) usa SysVinit por padrão.

    • Esse erro também ocorre ao executar o comando dentro de um contêiner Docker ou Podman não configurado para usar systemd.

  • O sistema usa systemd, mas o serviço está corrompido ou mal configurado.

Solução

  1. Conecte-se à instância Linux.

    Consulte Fazer logon em uma instância Linux usando o Workbench.

  2. Verifique se o sistema usa o systemd como sistema init:

    ps -p 1 -o comm=
    • Saída vazia ou diferente de systemd: O sistema não usa systemd. Use os comandos de gerenciamento de serviços correspondentes ao sistema init atual.

      Nota

      Se precisar de scripts systemctl, use uma distribuição Linux compatível com systemd ou execute um sistema Linux com systemd ativado em um contêiner Docker.

      Por exemplo, se o sistema usar SysVinit (a saída é init), utilize o comando service em vez de systemctl. A tabela a seguir compara os comandos comuns:

      Operação/comando

      SysVinit

      Systemd

      Iniciar serviço

      sudo service service_name start

      sudo systemctl start service_name

      Parar serviço

      sudo service service_name stop

      sudo systemctl stop service_name

      Reiniciar serviço

      sudo service service_name restart

      sudo systemctl restart service_name

      Verificar status do serviço

      sudo service service_name status

      sudo systemctl status service_name

      Ativar inicialização automática

      sudo chkconfig service_name on

      sudo systemctl enable service_name

      Desativar inicialização automática

      sudo chkconfig service_name off

      sudo systemctl disable service_name

    • Saída é systemd: O sistema usa systemd. Caso o erro persista, o systemd pode estar corrompido ou mal configurado. Consulte a documentação oficial da sua distribuição para recuperar o serviço systemd.