컴퓨터 이름 (호스트 이름이 아닌)을 얻는 방법?


19

내 모든 검색 결과가 함께 할 수있는 뭔가가 필요 결국 hostname또는 uname -n. 나는 부적절한 옵션을 찾고 있지만 운이없는 두 가지 모두에 대한 매뉴얼을 찾았습니다.

scutil --get ComputerNameLinux 시스템에서 동등한 OSX를 찾으려고 합니다. Mac OS X에서 컴퓨터 이름은 컴퓨터의 사람이 읽을 수있는 식별자로 사용됩니다. 다양한 관리 화면에 표시되며 ( 예 : 인벤토리 관리, Bonjour 기반 원격 액세스 등) 공간을 처리하기 위해 필터링 한 후 기본 호스트 이름으로 사용됩니다.


틀릴 수도 있지만 컴퓨터 이름을 네트워크 이름으로 정의하면 컴퓨터 이름이 고정되어 있지 않습니다. 머신에 Linux 또는 OSX를 설치할 때 일반적으로 해당 컴퓨터의 이름 (기본 네트워크 이름)을 선택합니다. 예를 들어 랩톱의 이름은 "FooBar"일 수 있지만 직장의 네트워크에 연결하면 "machine42.work.localnetwork"와 같은 호스트 이름이 나타납니다.
Sheljohn

@StephenKitt 정확히, Linux 시스템에서 다른 이름이 있습니까?
Sheljohn

4
@ Sh3ljohn 컴퓨터 이름이 osx의 목적은 무엇입니까? 리눅스 시스템에는 동등한 것이 없다고 생각합니다.
Bibek_G

해당 컴퓨터를 설치할 때 호스트 이름 이외의 다른 이름을 지정 했습니까? / etc에서 해당 이름을 검색해보십시오.grep -ri 'name' /etc
ptman

@Bibek_G이 소프트웨어를 사용하여 내 소프트웨어에서 실행중인 컴퓨터를 식별하고 싶습니다. 동일한 디스크에 여러 개의 OS가 설치되어 동일한 시스템에서 실행될 수 있기 때문에 UUID가 충분하지 않습니다.
Sheljohn

답변:


31

Linux를 실행하는 컴퓨터에서 사람이 읽을 수있는 (및 사람이 선택한) 이름과 가장 가까운 것은에 저장된 기본 호스트 이름입니다 /etc/hostname. 일부 (전부는 아님) Linux 배포판에서이 이름은 설치 중에 컴퓨터 이름으로 입력되지만 Mac OS X의 컴퓨터 이름과 달리 네트워크 호스트 이름 제약 조건이 있습니다.


그러나이 파일은 종종 hostnameand 를 설정하는 데 사용 uname -n되며 @ ​​Sh3ljohn은 명시 적으로이 두 명령의 출력을 피하려고했습니다.
roaima

17

엄밀히 말하면 Linux에는 네트워크 관련이없는 "컴퓨터 이름"과 같은 것이 없으며 실제로 네트워크에없는 컴퓨터의 이름을 지정하는 목적을 보지 못합니다.

컴퓨터가 다른 문자열을 가지고 이유 /etc/hostname, /etc/hostsuname -nDHCP 프로토콜은 새 호스트에 IP 주소와 함께 호스트 이름을 제공하는 기능을 가지고 있다는 것입니다. "machine42.work.localnetwork"는 DHCP 서버가 선택한 이름과 정확히 같습니다. 그런 다음이 문자열은 저장되어 gethostname호출에 의해 반환됩니다 .

또한보십시오:

컴퓨터 이름을 어떻게 변경합니까? (tl; dr echo computername > /etc/hostname)-설치 중에 이름을 선택할 때 발생하는 현상입니다.

다시 시작하지 않고 호스트 이름을 어떻게 변경합니까? (tl; dr hostname computername)-호스트 이름으로 DHCP 임대를받을 때 발생하는 상황입니다.


"엄밀하게 말하면, 리눅스에는 네트워크와 관련이없는"컴퓨터 이름 "과 같은 것은 없습니다." -서비스에 의존하지 않습니까? 예를 들어, Windows에 해당하는 것이 NetBIOS 이름이라고 생각합니다. 도메인 부분이없는 친숙한 이름이며 도메인 이름의 호스트 부분과 다를 수 있습니다 (완전한 자격 여부).

NetBIOS 이름은 도메인 이름과 다르더라도 여전히 네트워크 이름입니다.
Dmitry Grigoryev

16

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

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

출처 : [1]


나는 이것이 내가 찾고있는 것이라고 생각하지 않습니다. 여기에는 관리자 권한이 필요하며 해당 시스템에 OS를 설치할 때 사용자가 선택한 이름이 아니라 하드웨어에 대한 정보를 제공합니다.
Sheljohn

13
사용자가 선택한 이름? 그것은 저에게 호스트 이름처럼 들립니다.
Bibek_G

2
미안, 내가 잘못 알았어 어쨌든 나는 대답을 남길 것이다. 내가 아는 Linux 배포판을 사용하는 유일한 사용자 이름은 호스트 이름입니다.
jschlichtholz

@Bibek_G 이것이 내 질문에 대한 답변을 찾을 수없는 이유입니다. OSX에서는 두 가지가 다릅니다. 해당 시스템에 Linux를 설치할 때 입력 한 이름을 찾고 있는데 기본 네트워크 이름이라고 가정합니다.
Sheljohn

@jschlichtholz 물론이 답변은 다른 사람에게 유용 할 수 있지만 Bibek_G에 말한 것처럼 기본 네트워크 이름이 무엇인지 찾고 있습니다.
Sheljohn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.