Infelizmente, não há uma boa maneira de fazer isso com os tipos de recursos internos, apenas duas opções não tão boas.
O modo 'correto' envolve a definição de um recurso package
para todos os pacotes dos quais você deseja se livrar:
package { 'apache2.2-common':
ensure => purged,
}
package { 'apache2-utils':
ensure => purged,
}
# etc ...
E a maneira "imprópria", mas muito mais gerenciável, seria configurar um recurso exec
para executar o autoremove dos pacotes dependentes quando o pacote apache2 for removido:
package { 'apache2':
ensure => purged,
}
exec { 'autoremove':
command => '/usr/bin/apt-get autoremove --purge -y',
# We don't want this running every time the puppet agent runs,
# so we'll set it to only run when the apache2 purge actually happens.
# Note that this would not run on your node that already has the
# apache2 package removed, since it won't trigger any more changes
# to the package.
refreshonly => true,
subscribe => Package['apache2'],
}
Dadas estas duas opções, a segunda é definitivamente mais atraente - é bom ser capaz de se ater aos tipos embutidos sempre que possível, mas não é prático quando você está removendo um pacote com um grande número de dependências. / p>