데비안 제시는와 함께 제공됩니다 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을 변경하려면 다음 단계를 수행해야합니다.
- 루트로 로그인 :
$: sudo su -
- dbus 설치 :
$: apt-get update && apt-get install -y dbus
- 호스트 이름 설정 :
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:~#