Packages
We've already seen how to install a package using the package
resource, and this is all you need to do with most packages. However, the package
resource has a few extra features which may be useful.
Uninstalling packages
The ensure
attribute normally takes the value installed
in order to install a package, but if you specify absent
instead, Puppet will remove the package if it happens to be installed. Otherwise, it will take no action. The following example will remove the apparmor
package if it's installed (package_remove.pp
):
package { 'apparmor': ensure => absent, }
By default, when Puppet removes packages, it leaves in place any files managed by the package. To purge all files associated with the package, use purged
instead of absent
.
Installing specific versions
If there are multiple versions of a package available to the system's package manager, specifying ensure => installed
will cause Puppet to install the default version (usually the latest). But if you need a specific...