Re: [FUG-BR] [OFF-TOPIC] Ordem de execução de scripts no boot
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 airton.aran...@gmail.comescreveu: 2011/11/11 Cleyton Agapito cragap...@gmail.com Em 11 de novembro de 2011 21:02, Alex alexbbas...@gmail.com 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 ATT 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 ATT 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
[FUG-BR] [OFF-TOPIC] Ordem de execução de scripts no boot
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. 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? 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)? 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? 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. É 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. Obs 1: Se puderem/quiserem detalhar as respostas, fiquem à vontade. Obs 2: Admite-se que o já script tenha permissão de execução. Agradeço desde já por suas opiniões; serão de grande valia. Alex - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] [OFF-TOPIC] Ordem de execução de scripts no boot
Em 11 de novembro de 2011 21:02, Alex alexbbas...@gmail.com 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 ATT 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 ATT 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
Re: [FUG-BR] [OFF-TOPIC] Ordem de execução de scripts no boot
2011/11/11 Cleyton Agapito cragap...@gmail.com Em 11 de novembro de 2011 21:02, Alex alexbbas...@gmail.com 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 ATT 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 ATT 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