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
バックスラッシュの削除を含むさまざまな形式を試しましたが、何も機能しないようです。
私たちはUbuntu 16.04を使用しています。
可能ですか?
答え1
正確ではありません。周りを掘り下げるglibc ソースコード可能性を検索し/etc/hosts
て探す_PATH_HOSTS
会う_gethtent
\
処理に関するコードはないようです。
この機能が本当に必要な場合は、パッチを適用する必要がありますlibc
。これはおそらく最善のアイデアではないでしょう。
より良いアイデアは、/etc/hosts
必要に応じてファイルを構築するために使用されるソースの形式を指定できるようにテンプレートを作成し、必要な長い行を含むようにテンプレートを作成すること/etc/hosts
です。これは構成管理を通じて行うことができます。