![](/img/trans.png)
[英]Run `apt-get update` before installing other packages with Puppet
[英]Update apt before every Puppet run unless nothing has changed, wipe apt cache after every Puppet run
我正在使用Docker容器中的Puppet Agents,因此使用盡可能少的文件系統空間非常重要。 因此,在我的Docker bulid的最后, 我正在運行以下命令 :
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
問題是我的Puppet運行時嘗試安裝軟件包,並且由於沒有列表可供提取,因此失敗。 一個簡單的apt-get update
可使所有程序正常運行。
我正在從其存儲庫中運行最新的Puppet 3客戶端。 如何使用階段要求對每個Puppet運行進行以下包裝:
apt-get update
。 (即:如果什么都沒有改變,請不要做任何事情,也不要進行更新,因為這會浪費周期,帶寬,資源等) apt-get clean
清除所有內容,並可能運行與上面列出的Docker RUN
命令等效的命令。 如何使用Puppet執行階段來智能地包裝Puppet運行,預先更新apt並隨后清除緩存?
如果使用puppetlabs-apt模塊,則只需定義:
Class['apt'] -> Package<| |>
否則使用:
exec { 'apt-update':
command => '/usr/bin/apt update'
}
Exec['apt-update'] -> Package <| |>
如果缺少某些軟件包,將以這種方式執行apt update
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.