Cleyton (e Airton também), muito obrigado pela resposta, sua explicação foi mais que suficiente. Valeu mesmo; e desculpe a demora do feedback. Abraço.
Em 11 de novembro de 2011 22:16, Airton Arantes <[email protected]>escreveu: > 2011/11/11 Cleyton Agapito <[email protected]> > > > Em 11 de novembro de 2011 21:02, Alex <[email protected]> escreveu: > > > Prezados, boa noite. > > > > > > Recentemente me deparei com uma questão, que posteriormente se > desdobrou > > em > > > três, e que gostaria de saber a opinião especializada de vocês sobre o > > > assunto. > > > > > > > Bom, longe de ser especializada o que pretendo colocar é uma > > experiência que tive com esse assunto. > > > > > A questão original é essa: > > > > > > 1 - Você criou um script que deve ser executado no boot após todos os > > > outros processos terem sido executados. Qual a melhor forma de > > implementar > > > isso? > > > > > > > Dê uma olhada no manual do rcorder(8), herança do NetBSD, vc põe no > > script que ele só vai rodar depois (ou antes) de alguma condição (ter > > rede, ter login, etc), o script fica um pouquinho mais complexo mas o > > sistema "se vira" pra executar na ordem correta, no caso o rc.conf > > precisa "habilitar" o serviço (ou script), se não tiver nada em > > contrário no /etc/rc.conf são executados por default os do > > /etc/defaults/rc.conf. > > > > > > > > As duas que sequenciaram são essas: > > > > > > 2 - Existem diferenças entre como a questão anterior pode ser tratada > nos > > > BSD's (incluindo o FreeBSD) e nos Linux's (se considerar todas as suas > > > inúmeras distribuições, ou pelo menos as mais "famosas")? > > > > > > > Sim, o linux usa o jeito AT&T de fazer, basicamente vc tem diretórios > > chamados runlevels que possuem links pro init.d, cada link começa com > > um número e eles são executados nessa ordem, os scripts ficam mais > > simples mas a administração mais trabalhosa, o método BSD é muito mais > > inteligente (e complexo). > > > > > 3 - Poderia ser aceita como uma possível resposta da questão 1 afirmar > > que > > > a solução seria inserir o comando que aciona o script no arquivo > > > /etc/rc.conf, *no final do arquivo*, uma vez que a ordem da disposição > > das > > > linhas dos mesmos importa e faz diferença, como por exemplo em > servidores > > > de e-mail, em que é extremamente recomendável que o antivírus (Ex: > > ClamAV) > > > seja iniciado antes do SMTP (Ex: Postfix) justamente pela ordem de > > > execução/inicialização dos mesmos? > > > > > > > Não, a ordem é definida por palavras chaves no script (REQUIRE, > > BEFORE, etc), o rcorder controla a sequencia de partida e termino > > baseado nessas chaves independente da ordem dos rc.conf. > > > > > > > > -------------------------------------------- > > > > > > Ressalto novamente que o script deve ser iniciado no boot, mas que deve > > ser > > > o último a ser executado dentre todos os outros processos do boot. > > > > Vc pode por "REQUIRE: LOGIN" no script, creio que já atenda a tua > > necessidade mesmo sem garantia de ser o último, ou vc pode ir no > > /etc/rc.d e rodar o rcorder em cima do que possa ser o último a ser > > executado, o ideal é usar como dependência os que estão em maiúsculo, > > daí não tem perigo de desativar uma coisa e parar outra. > > > > > É preciso observar também que em nenhum momento na questão inicial foi > > > especificado o S.O. em que o script seria hipoteticamente executado, > por > > > isso pergunto sobre Linux's também e sobre a possível aplicação de uma > > > forma que existe no FreeBSD. > > > > > > > A forma de tratar a partida é completamente diferente, não se se tem > > como implementar uma partida AT&T no BSD, até porque não vejo muita > > utilidade. De qualquer forma se o script precisar rodar nos dois é > > capaz que funcione, coloque as diretivas BSD no arquivo (que pro Linux > > aparecerão como comentários) e no Linux faça os Links simbólicos > > tradicionais, creio que vai dar certo. > > > > > Obs 1: Se puderem/quiserem detalhar as respostas, fiquem à vontade. > > > > Não sei se há necessidade de detalhar, se for o caso dê um grito que a > > gente tenta melhorar :-) > > > > > Obs 2: Admite-se que o já script tenha permissão de execução. > > > > > > > Com certeza, nos dois sistemas a permissão de execução é condição. > > > > Abração! > > ------------------------- > > Histórico: http://www.fug.com.br/historico/html/freebsd/ > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > > > > Apenas mais um adição, o rc.local é ainda suportado. Você pode colocar a > seguinte linha no seu /etc/rc.conf > > local_startup="/usr/local/etc/rc.d/rc.local" > > -- > Airton Arantes Coelho Filho > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

