Como corrigir o comando SystemCtl não encontrado erro no Linux

Como corrigir o comando SystemCtl não encontrado erro no Linux

Linux tem vários comandos diferentes para executar tarefas diferentes. No entanto, às vezes os usuários encontram erros ao executar comandos. Um dos erros comuns é “o comando systemctl não encontrado”. Este erro ocorre quando o sistema encontra o comando systemctl ausente. Este artigo abrange o comando SystemCTL não encontrado erro em detalhes.

O que é comando SystemCtl

SystemCTL é um utilitário de linha de comando no Linux que controla os serviços do sistema. É uma ferramenta essencial que permite que os administradores do sistema gerenciem os serviços e recursos do sistema. O comando SystemCTL permite que os usuários comecem, terminem, habilitassem, desativem e reiniciem os serviços no sistema Linux.

O que causa o erro "SystemCTL não encontrado"

O erro "SystemCTL não encontrado" ocorre quando o sistema encontra o SystemCTL ausente. O principal motivo do erro do SystemCTL é o uso da versão antiga Linux. As versões antigas do Linux têm apenas suporte para Sysvinit em vez do utilitário Systemd.

Como o utilitário Systemd está ausente em algumas versões mais antigas do Linux. O SystemCTL é compatível com este utilitário. Mas se você usar o SystemCTL com configurações de Linux mais antigas, como Sysvinit ou Upstart O comando de erro não encontrado ocorrerá.

Aqui está a lista de razões possíveis devido às quais ocorre:

  • O pacote SystemCTL não está instalado
  • A variável de ambiente do caminho não está definida corretamente
  • O comando SystemCTL não é executável
  • O sistema não está executando um sistema init baseado em SystemD

Como corrigir o erro "SystemCtl não encontrado"

Se você estiver usando a versão Linux que não usa o Systemd como um utilitário de gerenciamento central, aqui estão algumas correções rápidas neste erro.

  • Instale o pacote SystemCTL
  • Verifique a variável do ambiente do caminho
  • Faça do comando SystemCTL executável
  • Verifique o sistema init
  • Substituindo o SystemCTL pelo comando de serviço

1: Instale o pacote SystemCTL

Se o pacote SystemCTL não estiver instalado no sistema, o primeiro passo é instalá -lo. Você pode instalar o pacote SystemCTL usando o Linux Package Manager.

A instalação do pacote Systemd pode resolver o problema, mas não é uma solução garantida. É necessário verificar primeiro se o Systemd O pacote já está instalado no seu sistema.

Execute o seguinte comando para verificar se SystemCtl Os pacotes estão instalados ou não:

sudo dpkg -l | Grep Systemd

Se os pacotes já estiverem instalados após a saída, mostrará que o Systemd já está instalado:

Caso se os pacotes não estiverem instalados, podemos instalá -lo usando as etapas abaixo.

Por exemplo, para instalá -lo em Sistemas baseados em Ubuntu e Debian, Execute os comandos dados para instalar o pacote SystemCTL.

Primeiros pacotes de atualização:

Atualização do sudo apt

Execute o comando abaixo para instalar o Systemd:

sudo apt install Systemd

Sobre Sistemas baseados em Red Hat Use comando:

sudo yum install systemd

Se você ainda estiver encontrando um erro, apesar de ter instalado o Systemd, considere reinstalá -lo usando o seguinte comando.

sudo apt install -reinstall systemd

Ao instalar o utilitário systemd, isso deve resolver o problema.

2: Verifique a variável do ambiente do caminho

Se a variável de ambiente do caminho não estiver definida corretamente, o sistema poderá não ser capaz de encontrar o comando SystemCTL. Você pode verificar a variável do ambiente do caminho executando o seguinte comando:

eco $ caminho

A saída deve conter o caminho para o diretório onde o comando SystemCTL está localizado. Se não estiver presente, você pode adicionar o diretório à variável de ambiente do caminho usando o seguinte comando:

Caminho de exportação = $ caminho:/usr/bin/systemctl

3: Faça do comando SystemCTL executável

Se o comando systemctl não for executável, faça -o executável usando o CHMOD. Use o comando abaixo para tornar o comando systemctl executável:

sudo chmod +x/usr/bin/systemctl

4: verifique o sistema init

Uma das principais razões pelas quais SystemCtl O comando não está funcionando é se o seu sistema não estiver executando um sistema init baseado no SystemD, você poderá encontrar o “Comando SystemCtl não encontrado”Erro. Para verificar se o seu sistema está executando um Sistema init baseado em Systemd, Você pode executar o seguinte comando:

PS -P 1 -O Comm =

Se a saída for “Systemd“, Seu sistema está executando um sistema init baseado em SystemD. Se a saída não for "Systemd", pode ser necessário mudar para um sistema init baseado em Systemd para usar o comando SystemCTL.

5: Substituindo o SystemCTL pelo comando de serviço

Uma solução fácil para corrigir o “sudo: systemctl: comando não encontrado”O erro é usar o comando de serviço no lugar de SystemCtl. O comando de serviço pode ser usado para executar o Script System v init, que é suportado por versões mais antigas do Linux.

Caso você não queira instalar Systemd utilidade, então essa correção é uma solução simples e eficaz. Ao usar o comando de serviço, você pode gerenciar serviços do sistema com facilidade, sem precisar usar o comando SystemCTL.

Observe que o comando de serviço pode não estar disponível para todos os serviços, e alguns serviços podem exigir o uso do SystemCTL.

A seguir, a sintaxe será seguida pelo comando de serviço:

SUDO Service [Service_Name] [Ação]

Você também pode usar outros comandos com o comando de serviço, como parar, reiniciar, status e recarregar, dependendo do que você deseja fazer com o serviço.

Por exemplo, para executar o mesmo comando com o serviço UFW Use:

SUDO SERVIÇO UFW START

Para identificar e listar nomes de serviços para gerenciar o uso:

SystemCTL List-units

Isso exibirá uma lista de todos os serviços atualmente em execução em seu sistema:

Conclusão

O "Comando SystemCtl não encontrado”O erro é um erro comum no Linux. Pode ser causado por vários motivos, incluindo o SystemCtl pacote não sendo instalado, a variável de ambiente de caminho não está sendo definida corretamente, o SystemCtl comando não sendo executável, e o sistema não executa um sistema init baseado em Systemd. O uso do comando de serviço no lugar do SystemCtl comando, podemos corrigir facilmente esse erro para distritos Linux mais antigos.