호스트 이름을 변경하고 다시 시작한 후 원래 호스트 이름으로 복원하십시오.

호스트 이름을 변경하고 다시 시작한 후 원래 호스트 이름으로 복원하십시오.

그래서 제가 하고 싶은 것은 호스트 이름을 영구적으로 변경하는 것입니다. 호스트 이름을 업데이트할 수 있지만 재부팅하면 원래 호스트 이름이 사용됩니다!

다음 위치에 파일 호스트 이름이 있다는 것을 알고 있습니다./etc/호스트 이름. 이 파일을 업데이트하고 재부팅했는데 호스트 이름이 이전 설정으로 돌아왔습니다!

내가 시도한 것:

  1. 업데이트 중/etc/호스트파일 새 호스트 이름
  2. 업데이트 중주인파일 - 127.0.0.1 새 호스트 이름
  3. 재시작

나는 또한 sudo 사용자와 루트를 사용해 보았습니다!

왜 이런 일이 발생합니까? !

의견이나 제안을 보내주셔서 감사합니다. 다른 모든 솔루션을 시도해도 소용이 없는 것 같습니다.

편집하다:

방금 업데이트했어요/etc/호스트 이름Debian 7을 로컬로 실행하는 가상 머신에서 파일을 실행하면 예상대로 작동합니다. SSH를 사용하여 원격 서버에 연결할 때 이것이 작동하지 않는 이유는 무엇입니까?

답변1

hostnamectl set-hostname servername.example.com

이는 RHEL 7에서 작동합니다.

답변2

호스트 이름 재설정의 또 다른 원인은 cloud-init 패키지일 수 있습니다. 이 패키지는 호스트를 구성하는 데 사용되며 시스템 호스트 이름을 설정하는 데에도 사용할 수 있습니다.

내 Ubuntu 시스템의 경우 이 옵션 preserve_hostname은 파일에서 로 설정됩니다. 이 옵션을 로 설정하면 재부팅 후에도 새로 설정된 호스트 이름이 유지됩니다.false/etc/cloud/cloud.cfgtrue

답변3

/etc/hosts이는 DNS 확인의 첫 번째 단계입니다. 호스트에 액세스하려고 하면 DNS를 쿼리하는 대신 해당 레코드를 사용합니다.

아시다시피 /etc/hostname이는 데비안에서 호스트 이름을 변경하는 옵션입니다. RHEL6에서는 /etc/sysconfig/network, RHEL7에서는 hostnamectl명령 또는 입니다 /etc/hostname.

Linux 호스트에서 호스트 이름을 변경하는 것은 배포판과 버전에 따라 다를 수 있으므로 특정 플랫폼에 대한 프로세스는 Google에 문의하는 것이 좋습니다.

답변4

런타임 커널 매개변수를 설정해 보세요.

sudo bash -c "echo 'kernel.hostname = YOUR_HOSTNAME' >> /etc/sysctl.conf"

변경사항 적용

sudo sysctl -p

이제 로그아웃했다가 다시 로그인하면 호스트 이름이 앱의 호스트 이름이 됩니다.

관련 정보