【问题标题】:Puppet Could not find command 'cd'木偶找不到命令“cd”
【发布时间】:2020-07-11 08:28:43
【问题描述】:

您好,我的这部分代码会导致错误。

   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'

我希望有人可以帮助我或为我指明正确的方向。感谢您的关注和您的时间。

【问题讨论】:

  • 您能否编辑帖子以包含整个exec 资源,好吗?目前该帖子省略了(隐含的)command 属性,这是有趣的一点!

标签: linux puppet puppet-enterprise


【解决方案1】:

问题中显示的片段是一个不完整的单元,但它似乎是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}"],
   ],
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    相关资源
    最近更新 更多