# pkgng – Package manager for FreeBSD >= 9.0

- Synopsis
- Parameters
- Notes
- Examples
- Status

## Synopsis

- Manage binary packages for FreeBSD using ‘pkgng’ which is available in versions after 9.0.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
annotation - |  | A comma-separated list of keyvalue-pairs of the form `<+/-/:><key>[=<value>]`. A `+` denotes adding an annotation, a `-` denotes removing an annotation, and `:` denotes modifying an annotation. If setting or modifying annotations, a value must be provided.

autoremove
boolean

Choices:
- no ←
- yes

Remove automatically installed packages which are no longer needed.

cached
boolean

Choices:
- no ←
- yes

Use local package base instead of fetching an updated one.

chroot - |  | Pkg will chroot in the specified environment. Can not be used together with rootdir or jail options.
jail - added in 2.4 |  | Pkg will execute in the given jail name or id. Can not be used together with chroot or rootdir options.
name - / required |  | Name or list of names of packages to install/remove.
pkgsite - |  | For pkgng versions before 1.1.4, specify packagesite to use for downloading packages. If not specified, use settings from `/usr/local/etc/pkg.conf`. For newer pkgng versions, specify a the name of a repository configured in `/usr/local/etc/pkg/repos`.
rootdir - |  | For pkgng versions 1.5 and later, pkg will install all packages within the specified root directory. Can not be used together with chroot or jail options.

state
-

Choices:
- present ←
- latest
- absent

State of the package.
Note: "latest" added in 2.7

## Notes

Note

- When using pkgsite, be careful that already in cache packages won’t be downloaded again.
- When used with a loop: each package will be processed individually, it is much more efficient to pass the list directly to the name option.

## Examples

    - name: Install package foo
      pkgng:
        name: foo
        state: present

    - name: Annotate package foo and bar
      pkgng:
        name: foo,bar
        annotation: '+test1=baz,-test2,:test3=foobar'

    - name: Remove packages foo and bar
      pkgng:
        name: foo,bar
        state: absent

    # "latest" support added in 2.7
    - name: Upgrade package baz
      pkgng:
        name: baz
        state: latest

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- bleader (@bleader)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.