簡體   English   中英

在 puppet ensure_packages package 定義中使用命令 output

[英]Use command output in puppet ensure_packages package definition

我目前正在從木偶清單安裝 kernel 標頭,其中包含以下內容:

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

如果我可以使用uname -r命令而不是硬編碼 kernel 版本會更有意義,以便自動檢索正在安裝它的 kernel 版本實例。

因此,我嘗試使用以下內容進行配置。

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

但這失敗了,因為它似乎無法解決該命令。

這在傀儡中甚至可能嗎?

這在傀儡中甚至可能嗎?

是的,可以在目錄構建期間運行外部命令,捕獲 output,並像使用任何其他字符串一樣使用它來通知目錄的詳細信息。 您將generate() function的幫助下完成此操作。 您可能需要指定命令的顯式路徑。

但這不是你真正想要的。

如果您在目錄構建期間執行評估,那么您將獲得與構建目錄的機器相關的數據,該機器通常與應用目錄的機器不同。 向目錄生成器傳達目標機器詳細信息的最合適的工具是事實 您需要檢查核心(內置) kernel事實是否已經提供了您想要的。 如果沒有,那么為此目的編寫自定義事實應該很容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM