Ubuntu Server 18.04 没法修改 hostname

对于运维而言,咱们但愿每台服务器的 hostname 都能体现出它本身的功能/ip,方便排查。linux

ubuntu server live 18.04 的安装流程很是友好,从 ip 到 hostname 均可以直接指定。可是每台虚拟服务器都手动装一遍系统,也台麻烦了一点。ubuntu

比较方便的方法,是先制做好一个 ova/ovf 的通用镜像,将 hostname/ip 的设定脚本也打包在里面,须要加机器时,先安装这个基础镜像,而后跑两下脚本就 ok 了。服务器

可是。。这里就遇到了一个问题,这个 18.04 服务器版的 hostname 我修改 /etc/hostname,仍是用 hostnamectl set-hostname <xxx>,它都顽固地“不忘初心”,重启多少次都无济于事。。运维

解决办法

罪魁祸首是我历来没用到过的什么 cloud init 工具,必须把 /etc/cloud/cloud.cfg 文件中的 preserve_hostname 设为 true,不然全部对 hostname 的修改都将是临时的!工具

参考