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. Так что исправить это:
А потом:
Это сработало.
источник
hostnamectl set-hostname myhostname
автоматически обновляет содержимое/etc/hostname
(статическое имя хоста), поэтому нет необходимости в первойecho
команде.timedatectl
вас такая же зависимость от dbus ... спасибо, что поделились своим решением!Чтобы изменить hostanme вашего хоста EC2, вы должны выполнить следующие шаги:
$: sudo su -
$: apt-get update && apt-get install -y dbus
hostnamectl set-hostname <HOSTNAME>
Убедитесь, что вы изменили
<HOSTNAME>
имя хоста, которое хотите установить.источник
На самом деле нам не нужно устанавливать какой-либо пакет, нам просто нужно отредактировать файл в соответствии с вашим дистрибутивом из списка ниже.
Отредактируйте строку, как показано ниже (первая строка прокомментирована), замените {{fqdn}} и {{hostname}}, как показано ниже.
В качестве альтернативы, установите «manage_etc_hosts:» в false, как показано ниже, и вы можете изменять файл / etc / hosts, так как он перестанет переопределять файл hosts.
источник