# package – Generic OS package manager

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Status

## Synopsis

- Installs, upgrade and removes packages using the underlying OS package manager.
- For Windows targets, use the win_package module instead.

## Requirements

The below requirements are needed on the host that executes this module.

- Whatever is required for the package plugins specific for each system.

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---
name - / required |  | Package name, or package specifier with version. Syntax varies with package manager. For example `name-1.0` or `name=1.0`. Package names also vary with package manager; this module will not "translate" them per distro. For example `libyaml-dev`, `libyaml-devel`.
state - / required |  | Whether to install (`present`), or remove (`absent`) a package. You can use other states like `latest` ONLY if they are supported by the underlying package module(s) executed.
use - | Default: "auto" | The required package manager module to use (yum, apt, etc). The default 'auto' will use existing facts or try to autodetect it. You should only use this field if the automatic selection is not working for some reason.

## Notes

Note

- This module actually calls the pertinent package modules for each system (apt, yum, etc).
- For Windows targets, use the win_package module instead.

## Examples

    - name: install ntpdate
      package:
        name: ntpdate
        state: present

    # This uses a variable as this changes per distribution.
    - name: remove the apache package
      package:
        name: "{{ apache }}"
        state: absent

    - name: install the latest version of Apache and MariaDB
      package:
        name:
          - httpd
          - mariadb-server
        state: latest

## Status

- This module is guaranteed to have backward compatible interface changes going forward. [stableinterface]
- This module is maintained by the Ansible Core Team. [core]

### Red Hat Support

More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.

### Authors

- Ansible Core Team

Hint

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