不幸的是,拼写检查器没有针对地区打包,所以之后安装英语、法语和德语词典我得到了这个巨大的集合:
$ 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