Puppet Vagrant/etc/sysconfig/network和/etc/resolv.conf

Puppet Vagrant/etc/sysconfig/network和/etc/resolv.conf,puppet,Puppet,我有以下文件: Vagrant.configure("2") do |config| config.vm.define "admin" , primary: true do |node| node.vm.box = "centos-6.5-x86_64" node.vm.hostname = "admin.example.com" node.vm.network :private_network, ip: "10.10.10.10" end end 我得到以下信

我有以下文件:

Vagrant.configure("2") do |config|
  config.vm.define "admin" , primary: true do |node|
    node.vm.box = "centos-6.5-x86_64"
    node.vm.hostname = "admin.example.com"
    node.vm.network :private_network, ip: "10.10.10.10"
  end
end
我得到以下信息:

$ vagrant up && vagrant ssh
$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=admin.example.com

$ cat /etc/resolv.conf 
search example.com
nameserver 10.0.2.3

我需要使用
HOSTNAME=admin
,而不是
HOSTNAME=admin.example.com

如何做到这一点

如果我设置了node.vm.hostname=“admin”, 然后,
/etc/resolv.conf
没有
搜索example.com

我可以添加一个vagrant shell provisioner来创建自己的
/etc/sysconfig/network
/etc/resolv.conf
文件,但它看起来并不好看(例如,我需要知道名称服务器)


/etc/resolv.conf
中设置domain
example.com
的正确方法是什么?

将以下行添加到您的文件中

config.vm.provider :virtualbox do |vb|
        vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
        vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end

这只会使您获得与主机相同的解析器设置;如果你想让你的虚拟机从你的主机上搜索一个不同的域,这将没有帮助。(或者在我的例子中,我希望所有主机上的所有虚拟机都搜索同一个域,无论主机如何配置。)Hmm。。然后,除了shell/puppet/chef/等,我看不到任何其他选项。设置来创建文件。我已经寻找了几个小时的修复程序,我看到的大多数修复程序都缺少了
vb.customize[“modifyvm”,:id,“--natdnsproxy1”,“on”]
,这是一个老问题,但是你确定你的主机名不正确吗?
hostname
hostname-f
返回什么?