Como o conteúdo dos arquivos de configuração é analisado em diferentes distribuições Linux?

3

Diferentes distribuições Linux armazenam os mesmos parâmetros de configuração em arquivos diferentes. Por exemplo, o endereço IPv4 em Debian Wheezy é armazenado em /etc/network/interfaces file enquanto em Fedora 20 é armazenado em /etc/sysconfig/network-scripts/ifcfg-eth0 file. Além disso, a sintaxe desses arquivos de configuração é diferente. Como as distribuições analisam esses arquivos? Além disso, o conteúdo dos arquivos de configuração é analisado de forma que os utilitários de espaço do usuário como ip e ifconfig são chamados ou existem algumas chamadas de sistema de nível inferior que realmente configuram o kernel?

    
por Martin 03.09.2014 / 16:57

1 resposta

3

O kernel não lê nenhum arquivo de configuração. Como regra geral, os kernels evitam acessar o sistema de arquivos; existem algumas exceções e variações, mas principalmente, o kernel lança um programa no local /sbin/init quando é inicializado, e os únicos acessam sistemas de arquivos em nome dos processos de usuário.

Os arquivos de configuração de rede (como outros tipos de arquivos de configuração) são lidos pelos aplicativos. Para os arquivos de configuração de rede, esses aplicativos são pacotes de scripts e binários acompanhantes que lêem o arquivo e aplicam a configuração fazendo chamadas de sistema . Para configuração de rede no Linux, as chamadas do sistema são principalmente ioctl chama soquetes (você não precisa entender isso).

Ao longo da história do Linux (e Unix antes dele), algumas configurações tornaram-se padrão, porque todos concordaram em como fazê-lo. Este é basicamente o caso (embora não universal) para usuários ( /etc/passwd , NSSwitch ) e sistemas de arquivos ( fstab ) . Por outro lado, a configuração da rede permaneceu bastante diversificada. Distribuições derivadas da Red Hat mantêm-na em /etc/sysconfig/network ; distribuições derivadas do Debian mantêm em /etc/network/interfaces .

Indo com o Debian como um exemplo, /etc/network/interfaces é analisado pelo % O programaifup , que é invocado a partir de /etc/init.d/networking , o script de inicialização encarregado de configurar a rede, ele próprio invocado por init .

    
por 04.09.2014 / 01:00