호스트 이름이 아닌 컴퓨터 이름을 어떻게 알 수 있나요?

호스트 이름이 아닌 컴퓨터 이름을 어떻게 알 수 있나요?

hostname내 모든 검색 결과는 또는 와 관련이 있었습니다 uname -n. 나는 교활한 옵션을 찾기 위해 두 가지 모두에 대한 설명서를 확인했지만 운이 없었습니다.

scutil --get ComputerName나는 Linux 시스템에서 시도하고 있는 OSX와 동등한 것을 찾으려고 노력하고 있습니다 . 맥 OS의 경우예를 들어인벤토리 관리, Bonjour 기반 원격 액세스...) 및 기본 호스트 이름으로 사용됩니다(공간 처리 등을 필터링한 후).

답변1

Linux를 실행하는 모든 컴퓨터의 경우 사람이 읽을 수 있는(및 사람이 선택한) 이름과 가장 가까운 이름은 에 저장된 이름입니다 /etc/hostname. 일부(전부는 아님) Linux 배포판에서 이 이름은 설치 중에 사용자 이름을 입력하세요(단, 다음과 같이 계산됩니다). macOS의 컴퓨터 이름과 달리 네트워크 호스트 이름 제한). 이는 네임스페이스화될 수 있습니다.UTS 네임스페이스다른 호스트 이름을 가질 수 있습니다.

systemd를 실행하는 시스템은 macOS의 컴퓨터 이름과 유사한 방식으로 설명되어야 하는 사람이 읽을 수 있는 "꽤" 이름을 포함하여 세 가지 다른 호스트 이름을 구별합니다. 이는 다음을 사용하여 설정하고 검색할 수 있습니다.hostnamectl옵션 --pretty. 다른 두 호스트 이름은 정적 호스트 이름(즉, 위의 기본 호스트 이름)과 임시 호스트 이름(현재 네트워크 구성을 반영)입니다.

Systemd는 섀시 유형도 지원합니다(예를 들어"태블릿") 및 콘솔 아이콘을 참조하세요.systemd-hostnamed.service.

답변2

sudo dmidecode | grep -A3 '^System Information'명령을 사용할 수 있습니다 . 이 명령은 BIOS 및 하드웨어에서 정보를 읽습니다. 내 컴퓨터의 예:

System Information
    Manufacturer: LENOVO
    Product Name: 20BHA06YGB
    Version: ThinkPad W540

원천: [1]

답변3

엄밀히 말하면 네트워크 독립적인 "컴퓨터 이름"은 Linux에 존재하지 않으며 실제로 네트워크에 없는 컴퓨터에 이름을 지정하는 목적도 없습니다.

/etc/hostname컴퓨터의 문자열이 다른 이유 는 DHCP 프로토콜이 새 호스트에 호스트 이름과 IP 주소를 제공하기 때문 /etc/hosts입니다 . uname -n"machine42.work.localnetwork"는 DHCP 서버에서 선택한 이름과 정확히 같습니다. 그런 다음 문자열을 저장하고 반환합니다.gethostname수신 전화.

또한보십시오:

내 컴퓨터 이름을 어떻게 변경하나요?(tl;dr echo computername > /etc/hostname) - 설치 중에 이름을 선택하면 이런 일이 발생합니다.

재부팅하지 않고 호스트 이름을 변경하는 방법은 무엇입니까?(tl;dr hostname computername) - 호스트 이름으로 DHCP 임대를 받으면 이런 일이 발생합니다.

답변4

짧막 한 농담:

hostnamectl | egrep -i "Static hostname" | awk '{print $NF}'

관련 정보