Execute o daemon na inicialização no Fedora 13 após a interface sem fio estar ativa

3

Eu quero que radvd (o daemon de propaganda do roteador IPv6) seja executado na inicialização do Fedora 13. No entanto, a interface de rede que ele usará deve estar ativa, caso contrário o daemon não será iniciado.

Se eu executar o daemon manualmente quando o sistema estiver em execução, tudo funcionará bem.

No entanto, eu não consigo descobrir como dizer ao sistema init do Fedora 13 "execute o radvd na inicialização, mas somente após o wlan0 estar ativo". O wlan0 é gerenciado pelo NetworkManager e seria bom se eu pudesse continuar assim.

Eu tentei ativar radvd na inicialização usando a ferramenta GUI system-config-services ; então radvd tenta iniciar no processo de inicialização (após o NetworkManager) mas falha porque o wlan0 não existe. Também tentei alterar ONBOOT=no para ONBOOT=yes em /etc/sysconfig/networking/devices/ifcfg-wlan0 , mas isso também não ajudou (não entendo exatamente como a configuração em /etc/sysconfig/networking/ interage com o NetworkManager).

Parece-me que esse tipo de coisa deve ser direto com o Upstart, mas não consigo encontrar um evento do Upstart que me diga "uma interface de rede está ativa".

    
por Catalin Iacob 29.10.2010 / 22:25

2 respostas

3

Eu não estou muito familiarizado com o Fedora, mas sei que o gerenciador de rede tem um sistema embutido para executar scripts depois que uma interface aparece. No Arch Linux os scripts estão localizados em

/etc/NetworkManager/dispatcher.d

Você precisará criar um script para dizer quando a interface estiver ativa, quando a interface estiver inativa, faça isso. No seu caso, inicie o raddvd quando a interface estiver ativa e pare quando a interface estiver inativa. O wiki do Arch Linux tem um pouco mais de informação e um exemplo de script que deve funcionar bem.

link

    
por 29.10.2010 / 23:34
1

No Ubuntu (você pode ter que adaptar isso para o Fedora se ele não tiver a mesma cadeia):

  • O NetworkManager executa scripts em /etc/NetworkManager/dispatcher.d quando uma interface é ativada ou desativada.
    Em particular, /etc/NetworkManager/dispatcher.d/01ifupdown executa os scripts ifupdown.
  • Ifupdown executa scripts em /etc/network/if-up.d e /etc/network/if-down.d .
    Em particular, /etc/network/if-up.d/upstart e /etc/network/if-down.d/upstart acionam os eventos do Upstart. Veja como você pegaria esses eventos em uma descrição de serviço:

    start on net-device-up IFACE=wlan0
    stop on net-device-down IFACE=wlan0
    
por 30.10.2010 / 00:17