Por que existem dois arquivos ifcfg-eth0, mas em um diretório diferente

3

Eu estou tentando entender por que existem 3 ifcfg-eth0 no meu servidor CentOS 6.4, eles são hardlinks para o mesmo arquivo parece.

Alguém sabe por quê?

$ ll /etc/sysconfig/network-scripts/ifcfg-eth0
-rw-r--r--. **3** root root 166 Jul 31  2012 /etc/sysconfig/network-scripts/ifcfg-eth0

$ find / -type f -name ifcfg-eth0 -exec openssl dgst -md5 {} \;
MD5(/etc/sysconfig/network-scripts/ifcfg-eth0)= **c5cd670606e1feb78752a9644f021c1f**
MD5(/etc/sysconfig/networking/devices/ifcfg-eth0)= **c5cd670606e1feb78752a9644f021c1f**
MD5(/etc/sysconfig/networking/profiles/default/ifcfg-eth0)= **c5cd670606e1feb78752a9644f021c1f**
    
por Ask and Learn 21.05.2013 / 03:02

2 respostas

5

2 RPMs

Os arquivos são remanescentes de dois pacotes RPM. Se você executar o seguinte comando, poderá ver quais RPMs são responsáveis por esses diretórios:

# centos 6.4
$ for i in /etc/sysconfig/networking /etc/sysconfig/network-scripts; do echo "==> $i"; rpm -qf $i;done
==> /etc/sysconfig/networking
system-config-network-tui-1.6.0.el6.2-1.el6.noarch
initscripts-9.03.31-2.el6.centos.1.x86_64
==> /etc/sysconfig/network-scripts
initscripts-9.03.31-2.el6.centos.1.x86_64

Os 2 RPMs são bem antigos, eu tenho um antigo sistema Fedora Core 3 que tem esses 2 diretórios como sendo de propriedade de initscripts , de modo que parece ser o dono original.

# fedora core 3
$ rpm -qf /etc/sysconfig/networking /etc/sysconfig/network-scripts/
initscripts-7.93.7-1
initscripts-7.93.7-1

Em algum momento, os arquivos de configuração da ferramenta system-config-network também foram expandidos para esses diretórios:

# centos 6.4
$ rpm -ql system-config-network-tui-1.6.0.el6.2-1.el6.noarch|grep "^/etc/.*/network.*"
/etc/sysconfig/networking
/etc/sysconfig/networking/devices
/etc/sysconfig/networking/profiles
/etc/sysconfig/networking/profiles/default

GUIs que usam diretórios acima

A propósito, as GUIs podem ser igualmente confusas, mas existe apenas uma única que detecta se foi chamada em um ambiente X ou em um terminal e exibe a "GUI" apropriada para o ambiente em questão.

$ more /usr/sbin/system-config-network
#!/bin/sh

if [ -n "$DISPLAY" -a -f /usr/sbin/system-config-network-gui ]; then
    exec /usr/sbin/system-config-network-gui "$@"
else
    exec /usr/sbin/system-config-network-tui "$@"

system-config-network-gui

system-config-network-tui

NOTA: A versão tui e a versão gui da GUI têm essa noção de "perfis" e "dispositivos" com os quais esta informação é mantida nos diretórios /etc/sysconfig/networking/* .

E os arquivos ifcfg- *?

Então, o que nos resta é uma pilha confusa de diversão. Os seguintes serviços e scripts dependem dos arquivos ifcfg-* , que são realmente importantes para o gerenciamento de rede em uma caixa da Red Hat:

  • O serviço de rede /etc/init.d/network
  • O script para cima /etc/sysconfig/network-scripts/ifup
  • O script para baixo /etc/sysconfig/network-scripts/ifdown

Então, e as GUIs?

  1. As GUIs mencionadas acima são realmente antiguidades, elas ainda funcionam, mas em geral, se você não estiver usando o NetworkManager, provavelmente é mais fácil, no longo prazo, gerenciar as informações das configurações de rede diretamente, gerenciando os arquivos em /etc/sysconfig/network-scripts/ifcfg-* .

  2. A menos que você esteja fazendo tipos básicos de configurações de rede, alguns dos recursos / recursos disponíveis ao configurar uma rede podem não estar acessíveis por meio do tui / gui, portanto NetworkManager ou os arquivos ifcfg-* são as melhores opções.

  3. As ferramentas tui / gui acabam apenas escrevendo dados em /etc/sysconfig/network-scripts/ifcfg-* através dos links sobre os quais você originalmente perguntou, então é melhor editar os arquivos diretamente.

por 21.05.2013 / 06:44
1

Antes que NetworkManager fosse uma coisa, a Red Hat tinha (suponho que ainda tem da sua saída, eu tenho os diretórios mas nenhum arquivo neles nos dois servidores que eu verifiquei) uma ferramenta sysconfig-* que você poderia usar para especifique qual perfil de rede usar, após o qual você apenas reinicia o network service e as outras configurações entram em vigor.

O último na saída find é o ifcfg para o perfil default , o topo é onde o serviço network realmente parece, e devices eu nunca tive que mexer, então eu não Não sei qual parte do processo do sysconfig eles devem servir, mas se estiver sob networking , tudo faz parte desse esquema. Isso é algo que é extremamente antigo e provavelmente não será relevante agora que o NM lida com configurações de rede em máquinas que se movem para redes diferentes regularmente (como laptops) muito bem.

EDITAR: Aqui é outra descrição da mesma coisa da lista de discussão do CentOS.

    
por 21.05.2013 / 03:28