O que inicia a análise dos scripts da interface / etc / sysconfig / network-scripts / ifcfg- *?

1

Eu tenho procurado por um tempo e olhando para o código-fonte e vários scripts no sistema de arquivos Linux e ainda não consegui descobrir o que finalmente inicia a leitura dos scripts para interfaces de rede (ou outras interfaces) em / etc / sysconfig / network-scripts / que analisa e agarra os parâmetros básicos como IPADDR e atribui-o à interface.

A documentação do Redhat , por exemplo, não é muito específico:

Interface configuration files control the software interfaces for individual network devices. As the system boots, it uses these files to determine what interfaces to bring up and how to configure them. These files are usually named ifcfg-, where refers to the name of the device that the configuration file controls.

Geralmente, diz-se que o "sistema" lê os arquivos.

Eu acho que encontrei um dos programas finais na cadeia de chamadas que analisa esses arquivos e os parâmetros neles: / etc / sysconfig / scripts de rede / ifup (que em seguida, chama outros scripts ifup- * e executa vários comandos com o binário / sbin / ip e define os valores em / sys / class / net / ). Mas o que chama esse script ifup (que é um link simbólico para / sbin / ifup)? Comecei a olhar para o udev, mas cheguei a um beco sem saída. Eu usei o link para procurar no código do kernel por referências a esses arquivos e também não encontrei nada lá.

Eu basicamente gostaria de ver uma explicação clara da cadeia de chamadas que leva à análise dos scripts / etc / sysconfig / network-scripts / ifcfg- *, a partir do tempo de inicialização.

Edit: Obrigado à LinuxNinja por fornecer a resposta abaixo. Seguindo essa resposta, também encontrei este post similar no site do Unix SE.

    
por SeligkeitIstInGott 28.01.2016 / 02:45

1 resposta

3

O serviço 'rede' é onde você deseja iniciar ( /etc/init.d/network )

Define interfaces=$(ls ifcfg*)

Isso também é canalizado para sed para fazer alguma outra mágica, mas é aqui que os arquivos ifcfg* são identificados.

Existe uma instrução for que percorre cada um dos arquivos ifcfg encontrados usando a variável $ interfaces e avalia cada um, chamando ifup eth0 boot , por exemplo.

    
por 28.01.2016 / 07:09