명령 >hostname과 >echo $HOSTNAME의 차이점과 /etc/rc.conf의 항목 호스트 이름: FreeBSD

명령 >hostname과 >echo $HOSTNAME의 차이점과 /etc/rc.conf의 항목 호스트 이름: FreeBSD

실행 중인 시스템의 bash 프롬프트에서 호스트 이름을 변경해 보십시오(재부팅 필요 없음).

  1. 명령을 사용하여 시스템의 호스트 이름을 변경해 보았습니다 hostname NEW_HOST_NAME. 좋은 측정을 위해 나는 또한 /etc/rc.d/hostname restart제안한 대로 했습니다.포럼에서. 이제 명령을 실행하면 hostnameNEW_HOST_NAME이라고 표시됩니다. 하지만 echo $HOSTNAME이렇게 하면 여전히 이전 호스트 이름이 표시됩니다.

  2. 그래서 1이 작동하지 않을 때 호스트 이름 항목을 편집 하고 /etc/rc.conf제안된 대로 /etc/netstart다시 시작했습니다 .rc.conf메일링 리스트.

항목을 변경해도 rc.conf출력은 변경되지 않습니다 hostname. 이렇게 하면 echo $HOSTNAME여전히 이전 호스트 이름이 표시됩니다. 물론 새로운 이름도 hostname표시됩니다.

그래서 나는 여기서 뒤에서 무슨 일이 일어나고 있는지 꽤 잃어 버렸습니다. 모든 설명/설명을 주시면 감사하겠습니다. 더 (또는 덜) 중요한 것은 bash 프롬프트가 업데이트되도록 실행 중인 시스템의 호스트 이름을 어떻게 변경하는가입니다. (변경한 후에 시도해 보았지만 분명히 이전 호스트 이름이 source ~/.bashrc작동하지 않았기 때문에 echo $HOSTNAME여전히 출력됨) .

답변1

$HOSTNAME배쉬 변수입니다bash 쉘로 설정시작될 때 (사용utsname.nodename 구조) 또는 어느 시점에서 다시 작성합니다. 실제 호스트 이름을 변경해도 로그인 스크립트가 다시 실행되거나 새 셸이 시작되지 않습니다. 당신도 바꾸고 싶다면 바꾸세요. 또는 호스트 이름을 변경한 후 로그아웃했다가 다시 로그인하여 새 호스트 이름을 사용하도록 설정할 수 있습니다.

또한 호스트 이름에 대한 변경 사항은 컴퓨터가 다시 시작되면 취소될 수 있습니다. 부팅 시 이것이 어떻게 설정되는지 구성하는 방법이 있을 수 있습니다(그러나 현재 확인할 FreeBSD 시스템이 없습니다).

관련 정보