Debian Jessie带有systemd
。 设置主机名的build议是使用systemname的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
所以我试图在这里推荐Debian的build议。
echo "myhostname" > /etc/hostname echo "127.0.0.1 myhostname" >> /etc/hosts /etc/init.d/hostname.sh start /etc/init.d/networking force-reload
但是,注销并重新login后,主机名不会更改。 但重启后它会改变,但这对我来说是不可取的。
这个方法曾经在Debian 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主机的主机名,您必须按照以下步骤操作:
$: sudo su -
$: apt-get update && apt-get install -y dbus
hostnamectl set-hostname <HOSTNAME>
确保使用要设置的主机名来更改<HOSTNAME>
。