簡體   English   中英

安裝一組軟件包后運行一次命令

[英]Running a command once after a group of packages is installed

我有一個現有的木偶清單,該清單安裝了一堆php5軟件包,並且僅在安裝后重啟apache。 簡化的清單類似於

package { 'apache-php':
    name => $modules,
    ensure => installed
}

exec {'enable-mod-php':
    command     => $enable_cmd,
    refreshonly => true
}

Package['apache-php'] ~> Exec['enable-mod-php'] ~> Service['apache']

在系統升級目錄運行開始后,出現以下錯誤消息:

錯誤:無法應用目錄:Package [apache-php]上的參數名稱失敗:名稱必須是/etc/puppet/modules/apache/manifests/php.pp:22處的不是數組的字符串

我發現我在使用未記錄的功能/錯誤: Puppet 3.4.0名稱作為package中的數組

但是,在升級之后,我很難找到如何重做設置的方法。 我該如何重寫此清單,以便它與更新的木偶版本一起使用?

而不是在示例中為包定義使用任意標題。 (例如apache-php )並使用name參數,您可以執行以下操作:

$modules = ['foo','bar','baz']

package { $modules:
  ensure => present
  notify => Exec['enable-mod-php']
}

exec {'enable-mod-php':
  command     => $enable_cmd,
  refreshonly => true,
  notify      => Service['apache']
}

service { 'apache':
  # your apache params
}

我沒有看過軟件包提供程序的代碼,但是可以驗證以上內容是否有效。 還應該注意的是鏈接箭都很好,但根據木偶風格指南metaparameters是首選。

希望這可以幫助。

暫無
暫無

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

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