재부팅하지 않고 호스트 이름을 강제로 업데이트해야 함

재부팅하지 않고 호스트 이름을 강제로 업데이트해야 함

시스템을 다시 시작하지 않고 시스템의 호스트 이름을 변경해야 합니다. CentOS 7을 실행 중이고 /etc/hostname 파일에 올바른 호스트 이름이 있지만 메시지가 표시되면 여전히 이전 호스트 이름이 표시됩니다. 시스템을 재부팅하면 호스트 이름 파일을 확인하고 적용한다는 것을 알고 있지만 재부팅하지 않고도 해당 파일을 업데이트할 수 있나요? 다음은 명령줄의 일부 정보입니다.

[root@gandalf sysconfig]# cat network
NETWORKING=yes
GATEWAY=192.168.80.1
HOSTNAME="sauron.domain.com"
[root@gandalf sysconfig]# cd ..
[root@gandalf etc]# cat hostname
sauron
[root@gandalf etc]# 

조만간 서버를 다시 시작할 수 없으며 호스트 이름이 이전 시스템 이름을 표시하기 때문에 우리 팀 중 일부가 서버를 혼동하고 있습니다. 간단히 말해서: [user@sauron dir]#대신 표시하려면 프롬프트가 필요합니다 [user@gandalf dir]#.

Google에서 검색했지만 재부팅하지 않고 이를 달성하는 방법을 찾을 수 없습니다. 당신의 배려에 감사합니다!

답변1

hostname다음 명령을 사용하여 이 작업을 수행 할 수 있습니다 .

hostname -F /etc/hostname

이렇게 변경한 후에도 이전 호스트 이름이 현재 프롬프트에 계속 표시됩니다. 재부팅하지 않고 변경 사항을 보려면 새 셸을 입력하세요. 을 사용하는 경우 bash다음을 입력하십시오.

bash

hostname이제 새 콘텐츠가 표시됩니다.

답변2

네트워크 서비스를 다시 시작할 필요가 없습니다. 다음 절차 중 하나를 따를 수 있습니다.

hostnamectl set-hostname "new.host.name"

로그아웃하고 시스템에 로그인하세요.

또는

hostname "new.host.name"

로그아웃하고 시스템에 로그인하세요.

또는

echo "new.host.name" > /proc/sys/kernel/hostname

로그아웃하고 시스템에 로그인하세요.

HOSTNAME하지만 파일에 설정했는지 확인하세요 . /etc/sysconfig/network그렇지 않으면 시스템 재부팅 중에 호스트 이름을 할당할 수 없습니다.

답변3

(busybox & GNU)를 사용 hostname하고 다음에서 원하는 호스트 이름을 편집하십시오 /etc/hostname.

hostname -F /etc/hostname

관련 정보