CentOS 6.5 - bash: service: comando não encontrado

10

Portanto, não consigo digitar serviceno meu servidor CentOS 6.5. Estou logado como root. Ao digitar service, recebo este erro:

bash: service: comando não encontrado

Eu também tentei digitar sudo service, mas sem sorte. E então eu recebo este erro:

sudo: service: comando não encontrado

user3524823
fonte
no meu caso, cd /sbin/; ./serviceme deu o que estava procurando.
Esverdeado

Respostas:

10

Como descoberto na discussão estendida por meio de comentários, seu sistema está quebrado. Sugiro reinstalar o sistema completamente ou pelo menos os pacotes quebrados.

Ter /sbin/servicenovamente executado yum reinstall initscripts.

Não recomendo, mas se você deseja reinstalar todos os pacotes que falham na verificação, execute:

yum reinstall $(rpm -q --qf '%{NAME}\n' -a | while read rpm; do rpm -V $rpm >/dev/null || echo $rpm; done)

Observe que mesmo um arquivo de configuração modificado ou alterado mtimepode acionar uma reinstalação. Embora os novos arquivos de configuração venham com a .rpmnewextensão, se você alterou o original.

Cristian Ciupitu
fonte
Eu acho que seria melhor apenas reinstalar todo o sistema. Você tem uma idéia de como o problema ocorreu? (Meu último comando antes que happend WAS tmux um -t scripts e agora hoje quando eu entrei eu fiz yum install httpd e yum install php-mysql e depois serviço httpd começar, e então eu não poderia)
user3524823
Talvez alguém tenha invadido o seu servidor. Talvez você esteja executando um aplicativo PHP vulnerável. Dê uma olhada em Como faço para lidar com um servidor comprometido? da falha do servidor. De qualquer forma, não se esqueça de salvar os logs antes de reinstalar para análises adicionais.
Cristian Ciupitu
OK. Obrigado pela ajuda tão tarifa. Eu não executei nenhum aplicativo PHP. Apenas java jars. Não sei se eles podem causar problemas.
user3524823
O plug-in do navegador Java é famoso por suas vulnerabilidades de segurança, mas não estou familiarizado com o lado do servidor, se for o seu caso.
Cristian Ciupitu
7

O servicecomando reside no sbindiretório - verifique se ele existe em/sbin/service

Se você é root e, de acordo com esta lista de discussão, pode ser necessário garantir que ele esteja no seu caminho: Centos5 - Comando de Serviço Não Presente .

Você também pode verificar uma função semelhante chamada chkconfig, pois ela também pode ativar serviços. CentOS - chkconfig

Os links anexados são para o CentOS 5, mas eles não parecem diferir no CentOS 6.5

macilath
fonte
2

Consegui consertar isso adicionando / sbin ao meu PATH no CentOS 5.2

export PATH=$PATH:/sbin
CommonCoreTawan
fonte
Isso duplica outra resposta e não adiciona novo conteúdo. Não poste uma resposta, a menos que você realmente tenha algo novo para contribuir.
DavidPostill
sbin deve estar apenas no caminho do usuário root.
Xyon 26/12/15