Diferença entre /etc/init.d/networking restart e reinício de rede invoke-rc.d

7

Existe alguma diferença real entre /etc/init.d/networking restart e invoke-rc.d networking restart (Debian)?

    
por Lucas Kauffman 09.05.2012 / 13:39

3 respostas

7

O que invoke-rc.d faz está documentado em sua página man. É um wrapper rodando o script init diretamente, mas também aplica uma política que pode fazer com que o comando não seja executado, baseado no runlevel atual e se o daemon deve ser executado nesse runlevel.

Por padrão, o Debian não diferencia entre os runlevels 2-5, mas como o administrador local, você pode alterar o que é executado em cada nível de execução. invoke-rc.d honrará estas políticas locais e não iniciará um daemon se o nível de execução estiver errado.

    
por 09.05.2012 / 13:58
1

Não há diferença real [1]. O comando invoke-rc.d simplesmente fornece uma interface conveniente para executar os scripts init.d, poupando-lhe a onerosa responsabilidade de digitar o caminho completo para o script que você deseja executar! Ambas as invocações alcançarão o mesmo resultado final.

[1] Observe que o comando invoke-rc.d executa verificações antes de invocar o script de serviço solicitado para garantir que ele seja executado - ele protege contra a chamada de scripts no nível de execução incorreto etc., nesse sentido, há uma diferença - ele protege você de disparar pés um pouco. A página do manual deve ser instrutiva a esse respeito.

    
por 09.05.2012 / 13:56
0

Outro método fácil para executar a reinicialização da rede é criar o seguinte arquivo bash, chamado no meu caso [net] ie: /etc/init.d/net

O script:

#!/bin/sh -e
invoke-rc.d networking stop ;  invoke-rc.d networking start ; ifup eth0 

#Add whatever interfaces you have installed. ie: ifup eth0 wlan0 etc 

Após a criação chmod 711 'o nome do arquivo' [net]

    
por 27.10.2013 / 02:59