Puppetを使用して特定のグローブを除くディレクトリ内のすべてのファイルを削除する方法は?

Puppetを使用して特定のグローブを除くディレクトリ内のすべてのファイルを削除する方法は?

残念ながら、スペルチェッカーはロケール用にパッケージされていないため、後で英語、フランス語、ドイツ語のプレインストール私は次のような巨大なコレクションを得ました。

$ find /usr/share/myspell/dicts/ -name '*.dic' | cut -d '/' -f 6 | cut -d '.' -f 1 | sort
de_AT
de_BE
de_CH
de_DE
de_LI
de_LU
en_AG
en_AU
en_BS
en_BW
en_BZ
en_CA
en_DK
en_GB
en_GH
en_HK
en_IE
en_IN
en_JM
en_NA
en_NG
en_NZ
en_PH
en_SG
en_TT
en_US
en_ZA
en_ZW
fr_BE
fr_CA
fr_CH
fr_FR
fr_LU

英語で話したデンマーク、公式言語ではないですか?とにかくde_CH*、、、、de_DE*en_GB*維持し、en_US*他のファイルはすべて削除したいと思いますfr_FR*。 Puppetを使ってこれを達成する方法はありますか?

ベストアンサー1

実際には解決された問題のようです。解決策:

class spell_checker {
  package {
    [
      'aspell-de',
      'aspell-en',
      'aspell-fr',
      'hunspell-de',
      'hunspell-en',
      'hunspell-fr',
    ]:
      ensure => latest,
  }->
  file{
    [
      '/usr/share/hunspell',
      '/usr/share/myspell/dicts',
    ]:
    recurse => true,
    purge   => true,
    ignore  => [
      'de_CH.*',
      'de_DE.*',
      'en_GB.*',
      'en_US.*',
      'fr_FR.*',
    ],
  }
}

最終結果:

$ find /usr/share/myspell/dicts/ -name '*.dic' | cut -d '/' -f 6 | cut -d '.' -f 1 | sort
de_CH
de_DE
en_GB
en_US
fr_FR

おすすめ記事