[FUGSPBR] >NewBie Quiz< - Serviços (Ligar/Desligar/Reload/Ligar no Boot)
Eduardo Damato
damato em unesp.br
Qua Set 11 13:56:28 BRT 2002
Oi Pessoal,
Estou tentando mudar do linux para o BSD, estou achando o sistema muito
legal e bastante estável, mas estou tendo algumas dúvidas.
A minha maior dúvida é sobre a filosofia de ligar, desligar e dar reload
nos serviços. Sei que deve-se usar o /etc/rc.conf, etc, mas ainda nao
entendi como isso funciona. Alguém tem algum link/doc explicando isso
tudo?
Como estou totalmente acostumado com os unix SYSV, a ausência de
diretórios de scripts de serviços (/etc/init.d, /usr/sbin/init.d)
e dos diretórios lidos no boot (/etc/rc?.d) está me deixando meio
desconfortável na mudança para o FreeBSD.
Depois de pesquisar o sistema de arquivos acabei achando o
/usr/local/etc/rc.d, que contém alguns scripts de inicialização de
serviços, mas não é a mesma coisa, mesmo porque eu tenho que por os meus
scripts de outros serviços para serem executados no boot e não estou
conseguindo.
Mas Minha questão é mais filosófica mesmo. No linux/solaris sempre que
quero ligar, desligar ou dar reload num serviço eu opto por usar o script
do /etc/init.d ou /etc/rc.d ou /usr/sbin/init.d:
Ex:
/etc/init.d/serviceD start/stop/reload
Mas e no BSD? Como é o jeito mais comum?
Par ligar: /usr/local/sbin/serviceD ??
Para desligar ou dar reload estou fazendo:
Se o daemon tiver um arquivo pid eu o uso pra dar kill, senao
com o 'sockstat -l' eu olho o PID e dou 'kill' com o sinal adequado.
#sockstat -l | grep sshd2 | tr -s " " | cut -d" " -f3| xargs kill -QUIT/HUP
E para fazer esse serviço em particular ligar no boot?? Como faz?
Eu costumava só fazer um link no rc?.d da minha escolha tipo:
cd /etc/rc3.d
ln -s ../init.d/serviceD S95serviceD
Esse tipo de inicialização do SYSV permite que eu coloque o serviço para
ser iniciado no final ou no inicio, como eu preferir, e no BSD como isso
funciona?
Eu tenho um exemplo concreto, o SSH da ssh.com. Depois que eu compilo o
ssh e instalo ele joga os binarios no /usr/local/sbin, entao para ligar o
sshd eu preciso dar
/usr/local/sbin/sshd2
Quando eu quero desligá-lo ou dar reload eu uso o arquivo .pid dele que
fica no /var/run, então é fácil:
kill (-QUIT|-HUP) `cat /var/run/sshd2_22.pid`
Mas até agora fico me pergundando como faz para que ele se ligue no boot
da forma standard do FreeBSD. Como eu faria para que ele tenha uma
váriavel no rc.conf? Como eu faço para que ele se ligue depois de outros
serviços à minha escolha?
Outro exemplo é o Sendmail. Pessoalmente eu nao gosto desse MTA e uso o
postfix. Só que mesmo quando eu mando no rc.conf que o sendmail nao seja
ligado, ele é ligado escutando pra localhost. Como eu faço para que o
postfix tome o lugar dele? Eu instalei o postfix a partir do tar.gz como
eu sempre faço, e agora nao consigo fazer ele subir direito no boot. O meu
postfix geralmente roda junto com o amavis, de forma que tambem precisaria
ligá-lo junto e preferivelmente antes do postfix, etc etc.
Desculpem pela longa mensagem, é que estou iniciando nesse sistema e estou
com várias dúvidas.
Muito obrigado,
Eduardo.
________________________________________________
Para sair da lista visite o URL abaixo:
http://www2.fugspbr.org/mailman/listinfo/fugspbr
Mais detalhes sobre a lista de discussão freebsd