데비안 Jessie 시스템의 호스트 이름을 설정하는 방법은 무엇입니까?


19

데비안 제시는와 함께 제공됩니다 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에서 작동했습니다.

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


답변:


33

문제를 찾았습니다. 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

이것은 효과가 있었다.


3
dbus 의존성을 잘 잡습니다. 참고 : 시스템 시스템을 구성하는 방법을 배우고 (정적 호스트 이름) hostnamectl set-hostname myhostname의 내용 을 자동으로 업데이트 /etc/hostname하여 첫 번째 echo명령이 필요하지 않음을 발견했습니다 .
Anthony G-Monica에 대한 정의

기존 RAIN에 대한 경고도 어레이를 조정할 수 있습니까? root @ debian : ~ # rm / etc / ssh / ssh_host_ * root @ debian : ~ # dpkg-openssh-server를 재구성하고 initrd도 재생성
rzr

1
@donatello timedatectldbus와 동일한 의존성을 가진 것 같습니다 ... 솔루션을 공유해 주셔서 감사합니다!
Gergely Lukacsy

2

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

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

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


0

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

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:~#
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.