Como posso criar uma entrada multilinha em / etc / hosts?

0

Temos uma situação em que temos muitos aliases para um endereço IP e esses aliases precisam ser definidos em /etc/hosts . Em vez de ter linhas extremamente longas contendo todos os aliases de um endereço IP, gostaria de poder continuar listando o alias na próxima linha para que eu possa manter a formatação e manter o arquivo legível.

Não consegui encontrar nenhuma documentação sobre como conseguir isso.

Por exemplo:

# in /etc/hosts
10.11.11.11    alias1.localhost  alias1 \
               alias2.localhost  alias2 \
               alias3.localhost  alias3 \
               alias4.localhost  alias4

Isso resulta na primeira linha sendo processada, mas nenhuma das linhas subsequentes é:

$ python -c "import socket; print(socket.gethostbyname('alias1'))"
10.11.11.11

$ python -c "import socket; print(socket.gethostbyname('alias2'))"
Traceback (most recent call last):
   File "<string>", line 1, in <module>
socket.gaierror: [Errno -2] Name or service not known

Eu tentei isso em vários formatos, incluindo a remoção das barras invertidas, mas nada parece funcionar.

Estamos no Ubuntu 16.04.

Isso é possível?

    
por corywright 25.05.2018 / 17:55

1 resposta

1

Não é verdade, não. Pesquisando nas fontes da glibc procurando por /etc/hosts e, em seguida, por _PATH_HOSTS , uma encontro _gethtent que parece não ter código relacionado ao \ handling.

Se você quiser esse recurso, precisará corrigir o libc , o que provavelmente não é a melhor das ideias.

Uma ideia melhor pode ser o modelo /etc/hosts de tal forma que as fontes usadas para criar o arquivo podem ser formatadas como você deseja, e então o modelo /etc/hosts contém as linhas necessariamente longas. Isso pode ser feito com o gerenciamento de configurações.

    
por 25.05.2018 / 18:23

Tags