데비안 Jessie 시스템의 호스트 이름을 설정하는 방법은 무엇입니까? 명령이 작동하지 않습니다 (현재 호스트 이름을 표시하더라도)

데비안 제시는와 함께 제공됩니다 systemd. 호스트 이름을 설정하기위한 권장 사항은 systemd에 hostnamectl을 사용하는 것입니다. 그러나 EC2에서 부팅 된 Debian Jessie 이미지 에서는이 명령이 작동하지 않습니다 (현재 호스트 이름을 표시하더라도) .

sudo hostnamectl
sudo: unable to resolve host ip-172-30-0-17
Failed to create bus connection: No such file or directory

그래서 나는 데비안의 권장 사항을 여기 에서 시도했습니다 .

echo "myhostname" > /etc/hostname
echo "127.0.0.1 myhostname" >> /etc/hosts
/etc/init.d/hostname.sh start
/etc/init.d/networking force-reload

그러나 로그 아웃했다가 다시 로그인 한 후에는 호스트 이름이 변경되지 않습니다. 그러나 재부팅 후 변경되지만 나에게는 바람직하지 않습니다.

이 방법은 데비안 Wheezy에서 작동했습니다.

이 권리를 얻는 데 도움을 주시면 감사하겠습니다.



답변

문제를 찾았습니다. Debian Jessie 용 EC2의 기본 AMI에는 dbus가 설치되어 있지 않습니다. hostnamectl에 dbus가 필요한 것 같습니다. 따라서 수정은 다음과 같습니다.

apt-get update && apt-get install -y dbus

그리고:

hostname=myname
echo "127.0.0.1      $hostname" >> /etc/hosts
hostnamectl set-hostname "$hostname"
echo "$hostname" > /etc/hostname # uneeded

이것은 효과가 있었다.


답변

EC2 호스트의 hostanme을 변경하려면 다음 단계를 수행해야합니다.

  1. 루트로 로그인 :$: sudo su -
  2. dbus 설치 :$: apt-get update && apt-get install -y dbus
  3. 호스트 이름 설정 : hostnamectl set-hostname <HOSTNAME>

<HOSTNAME>설정하려는 호스트 이름 으로 변경하십시오 .


답변

실제로 패키지를 설치할 필요는 없으며 아래 목록에서 배포판에 따라 파일을 편집하면됩니다.

root@ServerOne:~# ls -l /etc/cloud/templates/
total 32
-rw-r--r-- 1 root root 1487 Nov 18  2015 chef_client.rb.tmpl
-rw-r--r-- 1 root root  941 May  3 23:37 hosts.debian.tmpl
-rw-r--r-- 1 root root  914 Nov 18  2015 hosts.freebsd.tmpl
-rw-r--r-- 1 root root  912 Nov 18  2015 hosts.redhat.tmpl
-rw-r--r-- 1 root root  866 Nov 18  2015 hosts.suse.tmpl
-rw-r--r-- 1 root root  812 Nov 18  2015 resolv.conf.tmpl
-rw-r--r-- 1 root root 1506 Nov 18  2015 sources.list.debian.tmpl
-rw-r--r-- 1 root root 2841 Nov 18  2015 sources.list.ubuntu.tmpl
root@ServerOne:~#

아래와 같이 행을 편집하십시오 (주석은 주석 처리됨). {{fqdn}} 및 {{hostname}}을 아래와 같이 바꾸십시오.

#127.0.1.1 {{fqdn}} {{hostname}}
127.0.1.1 ServerOne.opsplus.io ServerOne

또는 아래와 같이 “manage_etc_hosts :”를 false로 설정하면 hosts 파일의 재정의가 중지되므로 / etc / hosts 파일을 자유롭게 수정할 수 있습니다.

root@ServerOne:~# cat /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg
apt_preserve_sources_list: true
manage_etc_hosts: true
root@ServerOne:~#