Como posso ter certeza de que um script init.d é executado depois que as interfaces de rede receberam seus endereços pelo DHCP?

3

Acabei de instalar o couchdb em um sistema debian5 e adicionei links simbólicos ao /etc/init.d/couchdb-script. Infelizmente, esse script é acionado na inicialização antes que a interface de rede receba o endereço pelo DHCP ao qual o couchdb-server tenta se ligar - o que deixa a instância extinta.

Eu meio que resolvi isso, executando dhclient no script de início, mas só TEM para ser uma maneira melhor ...? Existe?

    
por flitzwald 17.09.2010 / 10:06

2 respostas

3

Sim, há uma maneira melhor: coloque o script de inicialização couchdb em /etc/network/if-up.d/ para que ele seja executado depois que sua rede estiver configurada.

Preste atenção em:

   Filenames should consist entirely of upper and lower case
   letters, digits, underscores, and hyphens. Subdirectories  
   of directory and files with other names will be silently ignored.
    
por 17.09.2010 / 10:20
0

No CentOS e provavelmente no RedHat, ele verifica se existe um arquivo /sbin/ifup-local e executará isso se estiver disponível.

para criá-lo:

sudo touch /sbin/ifup-local
sudo chmod +x /sbin/ifup-local

Em seguida, edite-o para conter o que você gostaria

#!/bin/sh
# your commands or calls to your script here

Espero que ajude. Eu gosto do diretório .d do Debian melhor, mas este parece ser o equivalente mais próximo no CentOS.

    
por 22.08.2013 / 02:45