como o arquivo etc / hosts é criado durante a instalação do Centos 4.9

0

Nós temos nossos servidores rodando o CentOS 4.9. Eu quero saber como o arquivo /etc/hosts é criado durante a instalação.

Uma pergunta relacionada aqui ( O que cria / etc / hosts (RHEL 5.5) ) diz que no RHEL 5% do arquivo/etc/hosts é criado pelo ananconda.

Usamos anaconda-10.1.1.46-4.x86_64.rpm . Eu extraí esse RPM e encontrei um arquivo /usr/lib/anaconda/network.py . Este arquivo Python cria o arquivo /etc/hosts .

Depois de ler este script python, vi que localhost.localdomain nome do alias do domínio deve ser adicionado no arquivo /etc/hosts .

Mas durante a instalação, pude ver que o arquivo /etc/hosts é criado apenas com.

127.0.0.1   loghost

Também temos um arquivo ks.cfg que cria o arquivo /etc/hosts com o seguinte conteúdo

127.0.0.1         localhost loghost

Portanto, após a instalação e reinicialização, o arquivo /etc/hosts é criado conforme especificado no arquivo ks.cfg .

Estou um pouco confuso aqui como o arquivo /etc/hosts é criado com apenas 127.0.0.1 loghost durante a instalação.

EDIT:

Nota: Agrupamos nossos RPMs de aplicativo com o RPM do CentOS e criamos um ISO.

O problema real é que estamos nos movendo do CentOS 4.9 para 6.5. No CentOS 6.5 setup-2.8.14-20 o rpm cria o arquivo hosts com o seguinte conteúdo

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

localhost.localdomain é adicionado no arquivo de hosts.

Então, estamos tentando encontrar a diferença entre o CentOS 4.9 & 6.5 /etc/hosts de criação do arquivo durante a instalação, porque nosso aplicativo está intimamente ligado com as entradas no arquivo /etc/hosts .

    
por Arun 02.12.2014 / 18:59

1 resposta

1

Não tenho certeza da resposta à sua pergunta como foi feita, mas acho que tenho a solução para seu problema real.

Em vez de simplesmente escrever um novo arquivo /etc/hosts , potencialmente sobrescrevendo o arquivo já existente, você pode anexar as entradas necessárias ao final. Não há diferença funcional entre:

127.0.0.1 localhost loghost

e

127.0.0.1 localhost
127.0.0.1 loghost

Ou seja, você não precisa coletar todos os nomes para 127.0.0.1 na mesma linha. Você só precisa anexar uma única linha com a entrada loghost que você precisa depois que o Anaconda criar a versão em estoque.

Como você está fazendo isso a partir de um RPM que você criou, isso significa que você substitui a maneira como está modificando ou cria /etc/hosts com algo assim no script %post do seu RPM:

if ! grep -q loghost /etc/hosts
then
    echo '127.0.0.1 loghost' >> /etc/hosts
fi
    
por 02.12.2014 / 19:35