/etc/hosts에 여러 줄 항목을 어떻게 생성합니까?

/etc/hosts에 여러 줄 항목을 어떻게 생성합니까?

IP 주소에 많은 별칭이 있고 해당 별칭이 에 있어야 하는 상황이 있습니다 /etc/hosts. IP에 대한 모든 별칭을 포함하는 매우 긴 줄이 아닌 다음 줄에 별칭을 계속 나열할 수 있기를 바랍니다. 형식을 유지하고 파일을 읽을 수 있도록 유지할 수 있습니다.

이를 달성하는 방법에 대한 문서를 찾을 수 없습니다.

예를 들어:

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

이로 인해 첫 번째 행은 처리되지만 후속 행은 처리되지 않습니다.

$ 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

백슬래시 제거를 포함하여 다양한 형식을 시도했지만 아무것도 작동하지 않는 것 같습니다.

우리는 우분투 16.04를 사용하고 있습니다.

가능합니까?

답변1

정확히는 아닙니다. 주변에서 파헤쳐 보세요glibc 소스 코드가능성을 검색 /etc/hosts하고 찾아보세요_PATH_HOSTS만나다_gethtent\처리와 관련된 코드는 없는 것 같습니다 .

이 기능을 정말로 원한다면 패치를 해야 할 것입니다 libc. 이는 아마도 최선의 아이디어는 아닐 것입니다.

더 나은 아이디어는 /etc/hosts파일을 빌드하는 데 사용되는 소스의 형식을 필요에 따라 지정할 수 있도록 템플릿을 만든 다음 /etc/hosts필요한 긴 줄을 포함하도록 템플릿을 만드는 것입니다. 이는 구성 관리를 통해 수행할 수 있습니다.

관련 정보