[英]How to add multiple source in one class in puppet manifest and how to declare that?
class practice_oracle
{
$files_inst = [
/tmp/packages/compat-libstdc++-33-3.2.3-47.3.x86_64.rpm,
/tmp/packages/elfutils-libelf-0.125-3.ML5.x86_64.rpm,
/tmp/packages/elfutils-libelf-devel-0.125-3.ML5.x86_64.rpm,
/tmp/packages/gcc-4.6.3-2.fu2012.x86_64.rpm,
/tmp/packages/gcc-c++-4.6.3-2.fu2012.x86_64.rpm,
/tmp/packages/glib2-2.28.8-1.fc15.x86_64.rpm,
]
file {
$files_inst:
ensure => present,
owner => root,
group => root,
mode => 0755,
source => "puppet:///modules/practice_oracle/compat-libstdc++-33-32.3-47.3.x86_64.rpm",
source =>puppet:///modules/practice_oracle/elfutils-libelf-0.125-3.ML5.x86_64.rpm",
source => "puppet:///modules/practice_oracle/elfutils-libelf-devel-0.125-3.ML5.x86_64.rpm",
source => "puppet:///modules/practice_oracle/gcc-4.6.3-2.fu2012.x86_64.rpm",
source => "puppet:///modules/practice_oracle/gcc-c++-4.6.3-2.fu2012.x86_64.rpm",
}
在這段代碼中,我嘗試編寫多個源代碼,然后在代理計算機上運行,但在代理計算機上運行此腳本時,對於列表中的第一個包,所有包的大小都相同。
那么為這個腳本編寫什么代碼,以及我的代碼中的錯誤是什么。 請幫我解決這個問題。
你這樣做的方式是行不通的。 但是, file
類型確實有一個recurse
選項用於目錄。 您可以按如下方式使用:
file { '/tmp/packages': ensure => directory, source => 'puppet://modules/practice_oracle", owner => 'root', group => 'root', mode => '0755', recurse => true }
這將使用${::modulepath}/practice_oracle/files
的整個目錄內容填充/tmp/packages
目錄。
https://docs.puppetlabs.com/references/latest/type.html#file-attribute-recurse
希望這可以幫助
在你的具體案例中:ptierno說的是什么。
通常,創建實用程序定義的類型:
define remote_file($dest_dir='/tmp/packages', $module='practice_oracle') {
file {
"$dest_dir/$title":
ensure => present,
owner => root,
group => root,
mode => 0755,
source => "puppet:///modules/$module/$title",
}
}
只是
remote_file { $file_inst: }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.