代码之家  ›  专栏  ›  技术社区  ›  neilH

在包定义中使用命令输出

  •  0
  • neilH  · 技术社区  · 4 年前

    我目前正在安装puppet清单中的内核头,其中包含以下内容:

        ensure_packages([
        'linux-headers-4.19.0-12-cloud-amd64',
        ],
      { 'ensure'   => 'present' })
    

    uname -r 命令而不是对内核版本进行硬编码,以便自动检索安装它的内核版本实例。

    因此,我尝试使用以下配置。

        ensure_packages([
        "linux-headers-$(uname -r)",
        ],
      { 'ensure'   => 'present' })
    

    这在木偶中可能吗?

    0 回复  |  直到 4 年前
        1
  •  2
  •   John Bollinger    4 年前

    是的,可以在目录构建期间运行外部命令,捕获输出,并将其与任何其他字符串一样用于通知目录的详细信息。你会在你的帮助下完成的 the generate() function . 您可能需要指定命令的显式路径。

    但那不是你真正想要的。

    如果在目录构建期间执行评估,则将获得与构建目录的计算机相关的数据,该计算机通常与将应用目录的计算机不同。将目标机器详细信息传送到目录生成器的最合适的工具是 facts . 您需要检查核心(内置) kernel