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

관련 정보