Concordo plenamente ... é uma questão muito interessante, mas o
principal objetivo do Slackware, o qual todos nós conhecemos, é o
K.I.S.S.

Para fazer um algoritmo para inicializar os sistema da forma citada,
seria necessário parâmetros externos de configuração de
prioridades ... creio que devido a essa necessidade, os scripts são da
forma que são para que se manterem simples de efetuar a manutenção ...

On 27 jul, 10:11, "Maxwillian Miorim" <[EMAIL PROTECTED]> wrote:
> On 7/26/07, Marcos Henrique Esteves Barbosa
>
>
>
> <[EMAIL PROTECTED]> wrote:
>
> > Vou explicar melhor. Os scripts dos runlevels (os scripts rc.
> > {0,4,6,S,M}) ficariam em /etc/runlevels (ou outro nome), mas os
> > scripts dos serviços (como rc.inetd, rc.pcmcia, rc.httpd) continuariam
> > em /etc/rc.d. Os scripts dos runlevels seriam modificados para em vez
> > de fazerem a verificação que verifica se cada um dos arquivos tem
> > permissão de execução, e se tiver executa, como no seguinte código:
> > if [ -x /etc/rc.d/rc.inetd ]; then
> >     /etc/rc.d/rc.inetd start
> > fi
> > Este sistema tem a seguinte desvantagem: se precisar adicionar um novo
> > serviço (como o OpenLDAP) tem que adicionar linhas no /etc/rc.d/
> > rc.local para que verifique se tem permissão de execução. No meu
> > sistema, ele executa um laço FOR para todos os arquivos do dirétório /
> > etc/rc.d e caso tenha permissão de execução, executa passando o
> > parâmetro start. No rc.0 e no rc.6 acontece o mesmo, porém passando
> > stop em vez de start. Se não tirar os scripts responsáveis pelos
> > runlevels do mesmo diretório, ele vai desligar a máquina (por que
> > executará o rc.0). Não sei se tem como escrever um código que retire
> > os scripts do runlevel do laço, se tiver nem precisa tirar os scripts
> > dos runlevels. Expliquei melhor?
>
> Com exceção do laço o sistema de inicialização do Slackware faz
> "quase" o que tu quer: carrega scripts de acordo com o runlevel
> (havendo a particularidade do runlevel 4, que tem seu próprio script)
> a questão do laço que é mais complicada...
>
> Tal sistema de inicialização, ao meu ver, deveria fazer o seguinte:
> - Inicializar/parar serviços de acordo com o runlevel: isso quer dizer
> que algumas coisas devem rodar em um runlevel e outras devem ser
> paradas, o melhor exemplo p/ isso são o runlevel 2 e 3 da LSB - no
> runlevel 2 tu desativaria serviços como o NFS e no 3 tu ativaria
> estes; assim a idéia de um laço que inicia tudo deixa teu sistema
> incompatível
>
> - Ter prioridades de inicialização: tenta iniciar o rc.httpd antes do
> rc.inet1 sem erros, teu laço vareria o diretório e com certeza usaria
> de ordem alfabética - o que teria problemas como este de iniciar o
> apache antes da rede...
>
> - Ter uma forma clara e prática de definir os dois itens anteriores,
> no Sys V é por meio de links mas tu poderia usar um conf ou fazer uma
> prioridade mais complexa com uso de expressões regulares e um pouco de
> inteligência artificial (ensinar o teu script a dar prioridade a
> serviços com técnicas simples do tipo "se é serviço, então só inicia
> se a rede ja foi iniciada"), ai vai depender da tua capacidade e
> conhecimento em programação. :)
>
> Eu acho isso um tópico bem interessante mas para fins de aprendizado,
> eu vejo tal modificação como algo que vai contra o principal fator do
> slackware: a simplicidade. ;)
>
> --
> Por favor não faça top-posting, coloque a sua resposta abaixo desta linha.
> Please don't do top-posting, put your reply below the following line.
> --------------------------------------------------------


--~--~---------~--~----~------------~-------~--~----~
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br
-~----------~----~----~----~------~----~------~--~---

Responder a