Ubuntu 如何使用Chef设置/更改主机名?

Ubuntu 如何使用Chef设置/更改主机名?,ubuntu,chef-infra,knife,Ubuntu,Chef Infra,Knife,我在运行模式下只有几个节点,我必须将主机名设置为这些节点 有没有食谱,我们可以设置属性host\u name并在各自的节点上运行该食谱?作者注释 这个答案已经有6年多的历史了 正如@lamont指出的,厨师资源 原始答案 有一本社区菜谱。签出我更新的主机名菜谱叉,该菜谱修复了主机名中的一个错误,其中域名被两次附加到FQDN 此外,此分叉允许您将ip设置为节点[“ipaddress”],而不是默认的127.0.1.1或其他静态ip 或 注意:现在有一个基于本答案中厨师长烹饪书的答案,这是每个人

我在运行模式下只有几个节点,我必须将主机名设置为这些节点

有没有食谱,我们可以设置属性host\u name并在各自的节点上运行该食谱?

作者注释 这个答案已经有6年多的历史了

正如@lamont指出的,厨师资源


原始答案
有一本社区菜谱。

签出我更新的主机名菜谱叉,该菜谱修复了主机名中的一个错误,其中域名被两次附加到FQDN

此外,此分叉允许您将ip设置为节点[“ipaddress”],而不是默认的127.0.1.1或其他静态ip

注意:现在有一个基于本答案中厨师长烹饪书的答案,这是每个人都应该使用的

我刚刚发布了厨师烹饪书的初始版本:

要使用它,请在metadata.rb中声明您依赖它:

depends "chef_hostname"
然后在配方代码中,只需使用它提供的
hostname
资源来设置主机名:

hostname "foo.example.com"
或者将主机名设置为node.name:

hostname node.name
或设置为您关心使用的任何属性:

hostname node["set_fqdn"]
这本食谱解决了许多悬而未决的问题。包括针对主机名手册打开的所有问题和PRs:

  • 正确地支撑软呢帽
  • 支持使用hostnamectl的centos7和systemd系统
  • 是否对/etc/hosts和/etc/sysctl.conf等文件进行正确的幂等行编辑
  • 设置主机名后,节点['fqdn']可以正常工作
  • 已经有了相当多的可移植性,稍后我将添加更多的操作系统
  • 对于/etc/hosts,默认为节点['ipaddress'],允许调整
  • 允许完全禁用/etc/hosts编辑

嗨,我也在找同样的。您能帮助我如何使用该配方吗?有一本社区食谱。如何为centos使用该配方?我们需要做哪些更改。@user3086014文档中没有将centos列为受支持的操作系统。但是,测试厨房文件使用CentOS-6.4测试本烹饪书,默认配方包含CentOS逻辑。你试过这本食谱吗?我没试过这本食谱!!我无法成功上传它。我不知道如何使用它。谢谢你的帮助。