嗨,我这部分代码会导致错误。
path => '/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin',
cwd => "/var/rapid7installer && unzip ${install_file}",
creates => '/var/rapid7installer/agent_installer.sh',
timeout => $timeout,
require => [
Package['unzip'],
File["/var/rapid7installer/${install_file}"],
],
}->
这是我遇到的错误。
Error: /Stage[main]/Profiles::Rapid7agent/Exec[Rapid7 Agent Installation Unzip]/returns: change from 'notrun' to ['0'] failed: Could not find command 'cd'
我希望有人能帮助我或为我指明正确的方向。感谢您的光临和宝贵的时间。
答案 0 :(得分:0)
问题中出现的片段是不完整的单元,但它似乎是Exec
资源声明的一部分。在这种情况下,cwd
属性肯定是错误的:
cwd => "/var/rapid7installer && unzip ${install_file}",
,它可能直接引起您所观察到的问题。该属性的值应为目录名称,该目录应为exec命令执行期间的工作目录。从上下文来看,这应该只是第一部分/var/rapid7installer
。必须通过command
属性传达要执行的实际命令,如果未明确给出,则默认为资源标题。
因此,您似乎想要更多类似这样的东西:
exec { 'Rapid7 Agent Installation Unzip':
command => "unzip ${install_file}",
path => '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin',
cwd => '/var/rapid7installer',
creates => '/var/rapid7installer/agent_installer.sh',
timeout => $timeout,
require => [
Package['unzip'],
File["/var/rapid7installer/${install_file}"],
],
}