Por que um serviço está sendo iniciado se não for mencionado em /etc/init.d?

5

Após uma instalação limpa do Fedora 17 e distcc-server , eu fiz um service distccd start , que foi concluído com sucesso.

man service indica que seria apenas executar o script distccd em /etc/init.d/distccd , mas esse arquivo não existe. chkconfig também não parece saber sobre distccd , o que é confirmado pelo fato de não haver arquivos relacionados em /etc/rc[0-6].d . Existe um arquivo /etc/sysconfig/distccd que contém opções de execução para o daemon distcc, mas parece que não consigo encontrar nada que ligue service a /etc/sysconfig .

Como o service sabe o que fazer quando digito service distccd start ?

Além disso, aprendi que o Fedora 17 pode redirecionar service para systemd / systemctl . Mesmo que seja esse o caso, ainda não encontro nenhum arquivo distccd relacionado em /etc/systemd/{system,user} .

    
por Cory Klein 28.06.2012 / 17:16

2 respostas

3

/etc/systemd é para serviços definidos pelo usuário. O local padrão para serviços definidos pelo sistema é /lib/systemd/system/ . Você pode sobrescrever serviços definidos pelo sistema em /etc/systemd .

Para mais informações sobre o systemd, dê uma olhada na página wiki fedora para systemd ou dê uma olhada na documentação do systemd

    
por 28.06.2012 / 20:16
1

AFAIK, service confia em um script de inicialização presente em /etc/init.d .

O distccd pode não ter sido empacotado com um script de inicialização. Tente o seguinte para iniciar o serviço como um daemon:

distccd --daemon

Se isso funcionar, você pode criar seu próprio script em /etc/init.d/distccd que aciona o comando acima e, em seguida, poderá tratá-lo como um serviço do sistema com service distccd start . Use /etc/init.d/skeleton como modelo.

    
por 28.06.2012 / 19:17