Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用wget提取.zip文件的流浪木偶_Linux_Vagrant_Puppet - Fatal编程技术网

Linux 使用wget提取.zip文件的流浪木偶

Linux 使用wget提取.zip文件的流浪木偶,linux,vagrant,puppet,Linux,Vagrant,Puppet,您好,我正在创建一个Vagrant设置,我需要获取一个.zip文件,该文件将放在/Vagrant/www目录中 我尝试这样做的方式是: exec { 'setup octobercms': command => "/bin/sh -c 'wget -P /vagrant/www https://github.com/octobercms/install/archive/master.zip'", timeout => 900, logoutput =>

您好,我正在创建一个Vagrant设置,我需要获取一个.zip文件,该文件将放在/Vagrant/www目录中

我尝试这样做的方式是:

 exec { 'setup octobercms':
    command => "/bin/sh -c 'wget -P /vagrant/www https://github.com/octobercms/install/archive/master.zip'",
    timeout => 900,
    logoutput => true
}
当vagrant up被触发时,我可以看到文件正在下载,但它没有出现在/vagrant/www目录中。该文件实际上与vagrant无关,但将用于安装10月份的CMS

使用puppet时,获取压缩文件并将其内容提取到目录中并删除压缩存档的最佳方法是什么


任何帮助都将不胜感激

执行
exec
命令是在shell的一般构造中运行的,不遵守调用它的用户帐户的约束。尝试:

exec { 'setup octobercms':
    command => "cd /vagrant/www/; /bin/sh -c 'wget https://github.com/octobercms/install/archive/master.zip'",
    timeout => 900,
    logoutput => true
}

您可能还需要删除/bin/sh-c,并使用wget的绝对路径,例如/usr/bin/wget''嗨,我尝试了您的建议,出现了以下错误:
err:/Stage[main]/Octobercms/Exec[setup Octobercms]/returns:从notrun更改为0失败:找不到命令“cd”
抱歉,我忘了您需要使用VAGRANT_CWD来更改工作目录。请参阅
cd
是一个内置的shell,不能像那样工作。您可以尝试将
provider=>“shell”
添加到
exec
。然后,应该不再需要显式启动
sh
。就我个人而言,我不会这样做,而是使用
wget-O/vagrant/www/master.zip