Os serviços SysV normalmente são representados por scripts executáveis em /etc/init.d/. Um script aceita ações como start, stop, restart ou status, conforme sua implementação e as convenções da distribuição. O comando service oferece uma interface que executa determinado script em um ambiente mais controlado.
Init · Lição 2
Serviço System V
Aprenda a inspecionar e operar scripts legados de serviços SysV pela interface compatível do sistema ativo.
Descoberta dos Serviços e das Ações
Liste primeiro os nomes dos scripts:
$ ls -1 /etc/init.d/
Algumas implementações oferecem:
$ service --status-all
Seus marcadores entre colchetes e status de saída são específicos da interface, e um script pode informar um estado desconhecido. Para um serviço, inspecione a saída de uso do script ou sua documentação, em vez de presumir que todas as ações existam.
O que o comando service normalmente encapsula?
Início e Interrupção
Em um host realmente gerenciado pelo SysV, estas formas são comuns:
$ sudo service SERVICE_NAME start
$ sudo service SERVICE_NAME stop
Substitua o marcador somente depois de identificar o serviço, seus dependentes, o estado atual e o impacto operacional. Interromper a rede, o acesso remoto, o armazenamento ou a autenticação a partir de uma sessão remota pode bloquear seu acesso ou corromper trabalhos ativos.
A forma direta /etc/init.d/SERVICE_NAME ACTION pode existir, mas, em um host cujo gerenciador ativo oferece compatibilidade, use o comando voltado ao gerenciador para que ele acompanhe o estado e as dependências.
Qual comando solicita a interrupção do serviço SysV peanut?
Recarga, Reinicialização e Estado
restart normalmente interrompe e depois inicia um serviço, causando uma indisponibilidade. reload pode solicitar que um serviço releia a configuração sem uma reinicialização completa, mas apenas quando o script e o daemon oferecerem suporte. Alguns scripts oferecem force-reload, com um comportamento alternativo definido pela distribuição.
Valide a configuração antes de qualquer recarga ou reinicialização, preserve uma segunda conexão administrativa ao alterar o acesso remoto e depois verifique o serviço por seu endpoint real e pelos logs — não apenas por um estado “running”.
$ sudo service SERVICE_NAME status
$ sudo service SERVICE_NAME reload
Por que não se deve presumir que reload seja equivalente a restart?
Controle em Tempo de Execução e Ativação no Boot
Iniciar um serviço agora não necessariamente o habilita para runlevels futuros. A ativação no boot é representada pelos links de runlevels e gerenciada por ferramentas específicas da distribuição, como update-rc.d, chkconfig ou geradores de compatibilidade do gerenciador de serviços.
Não crie links S e K manualmente antes de compreender os metadados de dependências e a ferramenta de gerenciamento da distribuição; links manuais podem ser sobrescritos ou ordenados incorretamente.
service SERVICE start necessariamente habilita o serviço nos boots futuros?
Lição concluída
Você concluiu Serviço System V
Agora você sabe operar um serviço legado sem confundir o controle em tempo de execução com a política de boot.
Descubra o script real e as ações compatíveis.
Use o nome do serviço antes da ação na sintaxe da interface.
Valide e verifique o comportamento de recarga ou reinicialização.
Gerencie a ativação futura nos runlevels por meio das ferramentas da distribuição.
Salve seu progresso
Crie uma conta gratuita para salvar esta lição e continuar em qualquer dispositivo.
Criar uma conta gratuita