Как установить имя хоста для системы Debian Jessie?

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.

Любая справка с разбиранием в этом ценится.

19
задан 27 April 2015 в 14:33
3 ответа

Обнаружил проблему. В базовом 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

Это сработало.

33
ответ дан 2 December 2019 в 20:17

Чтобы изменить хост вашего хоста EC2, вы должны выполнить следующие шаги:

  1. Войдите как root: $: sudo su -
  2. Установите dbus: $: apt-get update && apt-get install -y dbus
  3. Настройка имени хоста: hostnamectl set-hostname

Не забудьте изменить на имя хоста, которое вы хотите установить.

2
ответ дан 2 December 2019 в 20:17

На самом деле нам не нужно устанавливать какой-либо пакет, нам просто нужно отредактировать файл в соответствии с вашим дистрибутивом из приведенного ниже списка.

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:~#
0
ответ дан 2 December 2019 в 20:17

Теги

Похожие вопросы