盒子本身似乎成功导入但是一旦我进入配置它,我得到的错误似乎与主机上的nfs共享有关. 1000是vm上Vagrant用户的uID.
错误:
Error: Failed to set owner to '1000': Operation not permitted - /vagrant/www/index.PHPError: /Stage[main]/Perchdemo::Sites::Create/file[/vagrant/www/index.PHP]/owner: change from 501 to vagrant Failed: Failed to set owner to '1000': Operation not permitted - /vagrant/www/index.PHP
当我使用Puppet将index.PHP文件复制到主机文件系统上的share / vagrant / www时会发生这种情况.我在vm的独立安装上使用了这个Puppet模块,其中文件托管在vm的文件系统上,理想情况下我希望它们在nfs共享上.
编辑了更多信息.当我使用puppetlabs Apache模块创建vhost时,最初发生了错误.无论我尝试使用哪个用户强制创建它,它都会失败并出现相同的错误.
我的Vagrantfile对此如下.
Vagrant::Config.run do |config| config.vm.Box = "squeeze64" config.vm.network :hostonly,"10.1.0.52" config.nfs.map_uID = :auto config.nfs.map_gID = :auto config.vm.forward_port 80,8080 config.vm.share_folder("v-web","/vagrant/www","./www",:nfs => true) config.vm.provision :shell,:inline => "echo \"Europe/London\" | sudo tee /etc/timezone && dpkg-reconfigure --frontend noninteractive tzdata" config.vm.provision :shell,:inline => "apt-get update --fix-missing" config.vm.provision :shell,:inline => "apt-get upgrade" config.vm.provision :puppet do |puppet| puppet.facter = { "fqdn" => "perchtutorial.eoms"} puppet.manifests_path = "puppet/manifests" puppet.manifest_file = "perchtutorial.pp" puppet.module_path = "puppet/modules" endend解决方法 要摆脱这个权限问题,这是我添加到我的Vagrantfile中的内容:
if (/darwin/ =~ RUBY_PLATFORM) != nil config.vm.synced_folder ".","/host/path/to/shared/folder",nfs: true,:bsd__nfs_options => ["-maproot=0:0"] else config.vm.synced_folder ".",:linux__nfs_options => ["no_root_squash"] end
它将根据您的主机 *** 作系统(OSX或linux)调整NFS选项.
总结以上是内存溢出为你收集整理的Vagrant OS X主机nfs共享权限错误 – 无法将所有者设置为“1000”全部内容,希望文章能够帮你解决Vagrant OS X主机nfs共享权限错误 – 无法将所有者设置为“1000”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)