A versão em inglês deste artigo é de: http://www.ghacks.net/2009/04/04/get-to-know-linux-the-etcinitd-directory/
1. Sobre /etc/init.d Se você já usou um sistema Linux, então já ouviu falar do diretório init.d. Para que exatamente serve esse catálogo? No fim das contas, faz apenas uma coisa, mas não é algo trivial, é feito para todo o sistema, então é muito importante. O diretório init.d contém muitos scripts de início e parada para vários serviços do sistema. Ele controla tudo, desde acpid até x11-common. Claro, init.d está longe de ser tão simples. (Nota do tradutor: ACPID é um novo padrão de gerenciamento de energia para sistemas operacionais Linux; X11 também é chamado de sistema X Window, X Window system (X11 ou X) é um sistema de janelas com exibição bitmap. É um kit de ferramentas padrão e protocolo para construir interfaces gráficas de usuário em sistemas operacionais Unix e do tipo Unix, assim como OpenVMS, e pode ser usado em quase todos os sistemas operacionais modernos. Quando você olha o diretório /etc, encontrará muitos diretórios que existem na forma de rc#.d (onde # representa um nível de inicialização especificado, o intervalo é 0~6). Nesses diretórios, existem muitos scripts que controlam o processo. Esses alfabetos começam com "K" ou com "S". Scripts que começam com K rodam antes dos scripts que começam com S. Onde esses scripts são posicionados determinará quando começam a ser executados. Entre esses diretórios, os serviços de sistema trabalham juntos como uma máquina saudável. No entanto, às vezes você quer iniciar ou matar um processo de forma limpa, sem usar os comandos de matar ou matar. É aí que /etc/init.d é útil! Se você estiver usando um sistema Fedora, pode encontrar este diretório: /etc/rc.d/init.d. Na verdade, ele faz a mesma coisa não importa onde você coloque o init.d. Para poder usar scripts no diretório init.d, você precisa de privilégios root ou sudo. Cada script será executado como um comando, estruturado aproximadamente da seguinte forma: /etc/init.d/opção de comando Comand é o comando que realmente executa, e as opções podem ser as seguintes: Início Pare Recarregar Reiniciar Recarregamento forçado Na maioria dos casos, você vai usar as opções de iniciar, parar e reiniciar. Por exemplo, se você quiser desligar a rede, pode usar um comando como este:
/etc/init.d/networking stop Outro exemplo é que você muda as configurações da rede e precisa reiniciá-la. Você pode usar comandos assim: /etc/init.d/reinício de rede Os scripts de inicialização mais usados no diretório init.d são:
Networking Samba apache2 FTPD sshd pombal mysql Claro, você pode ter outros scripts mais comuns, dependendo do sistema operacional Linux instalado. 2. Sobre /etc/rc.local rc.local também é um script que uso bastante. O script é executado depois que o script em nível de inicialização do sistema foi executado, então é seguro adicionar o script que você deseja executar depois que o sistema iniciar. Um caso comum é que você pode adicionar um script de montagem/montagem NFS a ele. Você também pode adicionar alguns comandos de script para depuração dentro. Por exemplo, já me deparei com essa situação em que o serviço samba sempre falha em funcionar corretamente, e a inspeção mostra que o samba deveria ter sido iniciado e executado durante a inicialização do sistema, ou seja, a configuração do daemon samba garante que essa função seja executada corretamente. Nesse caso, normalmente não me preocupo muito em procurar o motivo, só preciso adicionar essa linha ao script /etc/rc.local: /etc/init.d/início do samba Dessa forma, o problema da exceção de serviço SAMBA foi resolvido com sucesso.
3. Resumo Linux é flexível. Por causa de sua flexibilidade, sempre podemos encontrar muitas maneiras diferentes de resolver o mesmo problema. O exemplo de iniciar um serviço de sistema é um bom exemplo. Com o script no diretório /etc/init.d, junto com a poderosa ferramenta /etc/rc.local, você pode ter certeza de que seu serviço estará funcionando perfeitamente.
|