Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
ホスト名がどこから読んでいるか

01.何も変更しない状態(default)

/etc/hosts
127.0.0.1 samplehost localhost localhost.localdomain
# python -c 'import socket; print socket.getfqdn()'
localhost.localdomain
# python -c 'import socket; print socket.gethostname()'
samplehost
# python -c 'import os; print os.uname()[1]'
samplehost
# python -c 'import platform; print platform.uname()[1]'
samplehost
  • getfqdn()はlocalhost.localdomainを取ってきてる。
  • それ以外はホスト名

02. /etc/hostsをドット付きに変えてみた

/etc/hosts
127.0.0.1 samplehost.aaa localhost localhost.localdomain
# python -c 'import socket; print socket.getfqdn()'
samplehost.aaa
# python -c 'import socket; print socket.gethostname()'
samplehost
# python -c 'import os; print os.uname()[1]'
samplehost
# python -c 'import platform; print platform.uname()[1]'
samplehost
  • getfqdn()はsamplehost.aaaになった
  • ↓ここを見ると「名前にピリオドを含む最初の名前」とある。

「完全修飾ドメイン名の取得にはまず gethostbyaddr() でチェックし、 次に可能であればエイリアスを調べ、名前にピリオドを含む最初の名前を値として返します。 完全修飾ドメイン名を取得できない場合、 gethostname() で返されるホスト名を返します。」 https://docs.python.jp/2/library/socket.html

03. hostnameコマンドで変えてみた

# hostname hogehogehost
# python -c 'import socket; print socket.getfqdn()'
hogehogehost
# python -c 'import socket; print socket.gethostname()'
hogehogehost
# python -c 'import os; print os.uname()[1]'
hogehogehost
# python -c 'import platform; print platform.uname()[1]'
hogehogehost
  • 全部hogehogehostになった。これが一番優先度高いみたい。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.