Como apagar todos os arquivos em um diretório, exceto alguns globs usando o Puppet?

1

Os verificadores ortográficos, infelizmente, não vêm empacotados para regiões, portanto, depois de instalando dicionários em inglês, francês e alemão Eu recebo esta coleção enorme:

$ 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

Inglês falado em Dinamarca , onde nem sequer é uma língua oficial? De qualquer forma, gostaria de manter de_CH* , de_DE* , en_GB* , en_US* e fr_FR* e excluir todos os outros arquivos. Existe uma maneira de conseguir isso usando Puppet?

    
por l0b0 28.02.2015 / 12:02

1 resposta

1

Na verdade, parece que esse é um problema resolvido . Solução :

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.*',
    ],
  }
}

Resultado final:

$ 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
    
por 28.02.2015 / 12:38

Tags