나는 이것을 얻습니다 (FreeNAS 11.2-RELEASE-U1):
Python 3.6.5 (default, Dec 20 2018, 21:27:40)
[GCC 4.2.1 Compatible FreeBSD Clang 6.0.0 (tags/RELEASE_600/final 326565)] on freebsd11
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> print (socket.gethostname())
backup-server.example.com
>>>
세계보건총회...?
답변1
내 생각엔 그게 어떤 잠재력이라도 돌려주는 것 같아gethostname()
부르다하다. 예를 들어(Linux의 경우에도) 다음과 같습니다.
# hostname foobar
# python -c 'import socket; print(socket.gethostname())'
foobar
# hostname foobar.example.org
# python -c 'import socket; print(socket.gethostname())'
foobar.example.org
호스트 이름 부분만 원하는 경우 나머지 부분을 제거하는 것은 어렵지 않습니다.
# python -c 'import socket; import re; print(re.sub("\..*", "", socket.gethostname()))'
foobar
답변2
Python 문서를 읽어보세요.호스트 이름 가져오기반환되는 내용은 지정되지 않으며 FreeBSD는 구성에 시스템의 FQDN을 포함합니다.
Python 인터프리터가 현재 실행 중인 컴퓨터의 호스트 이름이 포함된 문자열을 반환합니다.
참고:
gethostname()
정규화된 도메인 이름이 항상 반환되는 것은 아닙니다getfqdn()
.
다른 플랫폼에서는 노드 이름만 반환할 수도 있지만 Linux에서는 도메인 이름이 원래 NIS/Kerberos에 사용되었고 DNS의 도메인 이름과 일치할 필요가 없기 때문에 이는 흥미로운 사용 사례입니다.