Entendendo os scripts de inicialização do Gentoo
Todos já estão acostumados com a estrutura padrão dos scripts de inicialização das maiorias das distribuições (os famosos /etc/rc.d/*), porém quando nos deparamos com um Gentoo a história muda. Este artigo demonstra de forma prática como funcionam os scripts de inicialização do Gentoo Linux.
Introdução
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:
# 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.