Debian Jessie поставляется с systemd
. Рекомендация по установке имени хоста - использовать hostnamectl для systemd. Однако эта команда не работает (даже для отображения текущего имени хоста) в Debian Jessie. изображение загружено на EC2:
sudo hostnamectl
sudo: unable to resolve host ip-172-30-0-17
Failed to create bus connection: No such file or directory
Поэтому я попытался последовать рекомендациям Debian. Вот.
echo "myhostname" > /etc/hostname
echo "127.0.0.1 myhostname" >> /etc/hosts
/etc/init.d/hostname.sh start
/etc/init.d/networking force-reload
Однако после выхода и повторного входа в систему имя хоста не меняется. Однако после перезагрузки он меняется, но для меня это нежелательно.
Этот метод использовался для работы в Debian Wheezy.
Любая помощь в получении этого права приветствуется.
Нашел проблему. В базовом AMI EC2 для Debian Jessie не установлен 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, вы должны выполнить следующие шаги:
$: sudo su -
$: 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, как показано ниже, и вы можете изменить файл / etc / hosts, поскольку он перестанет переопределять файл hosts.
root@ServerOne:~# cat /etc/cloud/cloud.cfg.d/01_debian_cloud.cfg
apt_preserve_sources_list: true
manage_etc_hosts: true
root@ServerOne:~#