O
Gentoo, como sabem seus usuários, possui muitas diferenças com relação às outras distros. Uma delas são os scripts de inicialização. Em distros como o
Slackware estes scripts ficam guardados no diretório
/etc/rc.d/. Estes nada mais são do que simples shell-scripts que executam tarefas básicas de inicialização quando se utiliza o comando:
# rc.script start
Estes scripts podem ser chamados pelo script de inicialização (
rc.local ou
rc.S) e também pelo script de destruição de processos (
rc.6 ou
rc.K), além da linha de comando.
No Gentoo os scripts funcionam de forma diferente. Os scripts são guardados no diretório
/etc/init.d e as variáveis utilizadas pelo script ficam em
/etc/conf.d. Os scripts funcionam tanto na linha de comando como nos arquivos de inicialização, porém o Gentoo disponibiliza uma ferramenta que adiciona o script na inicialização e no fechamento do sistema, o
rc-update.
Por exemplo:
Você acabou de instalar o BIND, servidor DNS. Caso este seja instalado via
portage (sistema de instalação automática do Gentoo), o sistema cria automaticamente os scripts de inicialização "named" nos diretórios /etc/init.d e /etc/conf.d. No script encontrado no /etc/init.d pode-se notar que se trata de vários comandos que iniciam o servidor. Note o mais interessante: o interpretador do script. Não se trata nem do bash, muito menos do sh. Este interpretador,
runscript, é mais uma ferramenta implementada no Gentoo (não sei se existe em alguma outra distro) especialmente para estes scripts.
Tente agora executar o script. Digite na linha de comando:
# /etc/init.d/named
Irá aparecer na tela um texto semelhante a um manual que mostra as flags que podem ser utilizadas com este script. As principais flags são:
- start -> Inicia o serviço;
- stop -> Para o serviço;
- pause -> Semelhante ao stop. O serviço para de ser executado, porém os comandos dentro da função stop() do script não são executados;
- ineed -> Mostra as dependências do script;
- iuse -> Mostra os scripts que são utilizados junto com este;
- needsme -> Mostra os scripts que necessitam deste para executarem;
- usesme -> Mostra os scripts que utilizam este para serem executados.