Spec-Zone.ru › Ansible

Модуль community.general.pacman – Управление пакетами с помощью pacman

Примечание

Этот модуль является частью коллекции community.general (версия 9.5.0).

Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.general.

Для использования в playbook, укажите: community.general.pacman.

  • Краткое описание
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Управление пакетами с помощью менеджера пакетов pacman, который используется Arch Linux и его вариантами.

Параметры

Параметр

Комментарии

executable

string

добавлено в community.general 3.1.0

Путь к исполняемому файлу. Это может быть pacman или помощник AUR, совместимый с pacman.

Совместимость с Pacman, к сожалению, плохо определена, в частности, этот модуль широко использует директиву --print-format, которая, как известно, не реализована некоторыми помощниками AUR (в частности, yay).

Следует помнить, что помощники AUR могут вести себя непредсказуемо, поэтому они не рекомендуются.

Значение по умолчанию: "pacman"

extra_args

string

Дополнительные параметры для передачи в pacman при принудительном state.

Значение по умолчанию: ""

force

boolean

При удалении пакетов, принудительно удаляет их без каких-либо проверок. То же самое, что и extra_args="--nodeps --nodeps".

В сочетании с update_cache, принудительно обновляет все базы данных пакетов. То же самое, что и update_cache_extra_args="--refresh --refresh".

Варианты:

  • false ← (по умолчанию)
  • true

name

псевдонимы: package, pkg

list / elements=string

Имя или список имен пакета(ов) или файла(ов) для установки, обновления или удаления. Не может использоваться в сочетании с upgrade.

reason

string

добавлено в community.general 5.4.0

Причина установки, которая будет установлена для пакетов.

Варианты:

  • "dependency"
  • "explicit"

reason_for

string

добавлено в community.general 5.4.0

Установить причину установки для пакетов all или только для пакетов new.

В случае с уже установленными пакетами state=latest, которые будут обновлены до более новой версии, не считаются new.

Варианты:

  • "all"
  • "new" ← (по умолчанию)

remove_nosave

boolean

добавлено в community.general 4.6.0

При удалении пакетов не сохранять измененные конфигурационные файлы как файлы .pacsave (передает --nosave в pacman).

Варианты:

  • false ← (по умолчанию)
  • true

state

string

Устанавливать (present или installed, latest) или удалять (absent или removed) пакет.

present и installed просто гарантируют, что нужный пакет установлен.

latest обновит указанный пакет, если он не последней доступной версии.

absent и removed удалят указанный пакет.

Варианты:

  • "absent"
  • "installed"
  • "latest"
  • "present" ← (по умолчанию)
  • "removed"

update_cache

boolean

Обновлять ли главные списки пакетов.

Это может быть выполнено как часть установки пакета, так и отдельным шагом.

Если не указано, по умолчанию false.

Обратите внимание, что этот параметр влиял на состояние модуля changed только если name и upgrade не указаны до community.general 5.0.0. См. примеры того, как сохранить старое поведение.

Варианты:

  • false
  • true

update_cache_extra_args

string

Дополнительные параметры для передачи в pacman при принудительном update_cache.

Значение по умолчанию: ""

upgrade

boolean

Обновлять ли всю систему. Не может использоваться в сочетании с name.

Если не указано, по умолчанию false.

Варианты:

  • false
  • true

upgrade_extra_args

string

Дополнительные параметры для передачи в pacman при принудительном upgrade.

Значение по умолчанию: ""

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз статуса изменения без модификации целевого объекта.

diff_mode

Поддержка: полная

В режиме сравнения вернёт подробности о том, что изменилось (или, возможно, должно измениться в check_mode).

Примечания

Примечание

  • При использовании с loop:, каждый пакет будет обрабатываться индивидуально, гораздо эффективнее передать список напрямую в name.
  • Для использования помощника AUR (executable опция), могут потребоваться дополнительные шаги настройки. Например, может потребоваться отдельный пользователь для сборки с правами на установку пакетов.
  • В тестах, при использовании yay как executable опция, модуль не смог установить пакеты AUR с ошибкой: error: target not found: <pkg>.

Примеры

- name: Install package foo from repo
  community.general.pacman:
    name: foo
    state: present

- name: Install package bar from file
  community.general.pacman:
    name: ~/bar-1.0-1-any.pkg.tar.xz
    state: present

- name: Install package foo from repo and bar from file
  community.general.pacman:
    name:
      - foo
      - ~/bar-1.0-1-any.pkg.tar.xz
    state: present

- name: Install package from AUR using a Pacman compatible AUR helper
  community.general.pacman:
    name: foo
    state: present
    executable: yay
    extra_args: --builddir /var/cache/yay

- name: Upgrade package foo
  # The 'changed' state of this call will indicate whether the cache was
  # updated *or* whether foo was installed/upgraded.
  community.general.pacman:
    name: foo
    state: latest
    update_cache: true

- name: Remove packages foo and bar
  community.general.pacman:
    name:
      - foo
      - bar
    state: absent

- name: Recursively remove package baz
  community.general.pacman:
    name: baz
    state: absent
    extra_args: --recursive

- name: Run the equivalent of "pacman -Sy" as a separate step
  community.general.pacman:
    update_cache: true

- name: Run the equivalent of "pacman -Su" as a separate step
  community.general.pacman:
    upgrade: true

- name: Run the equivalent of "pacman -Syu" as a separate step
  # Since community.general 5.0.0 the 'changed' state of this call
  # will be 'true' in case the cache was updated, or when a package
  # was updated.
  #
  # The previous behavior was to only indicate whether something was
  # upgraded. To keep the old behavior, add the following to the task:
  #
  #   register: result
  #   changed_when: result.packages | length > 0
  community.general.pacman:
    update_cache: true
    upgrade: true

- name: Run the equivalent of "pacman -Rdd", force remove package baz
  community.general.pacman:
    name: baz
    state: absent
    force: true

- name: Install foo as dependency and leave reason untouched if already installed
  community.general.pacman:
    name: foo
    state: present
    reason: dependency
    reason_for: new

- name: Run the equivalent of "pacman -S --asexplicit", mark foo as explicit and install it if not present
  community.general.pacman:
    name: foo
    state: present
    reason: explicit
    reason_for: all

Значения возврата

Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

cache_updated

boolean

добавлено в community.general 4.6.0

Статус изменения pacman -Sy.

Полезно, когда name или upgrade=true указаны рядом с update_cache=true.

Возвращаемое значение: успех, если update_cache=true

Пример: false

packages

список / элементы=строка

Список пакетов, которые были изменены.

До версии community.general 4.5.0 это возвращалось только, если upgrade=true. В версии community.general 4.5.0 иногда пропускалось, когда список пакетов пуст, но начиная с community.general 4.6.0 всегда возвращается, если указан name или upgrade=true.

Возвращаемое значение: успех и name указан или upgrade=true

Пример: ["package", "other-package"]

stderr

строка

добавлено в community.general 4.1.0

Вывод ошибок из pacman.

Возвращаемое значение: успех, когда необходимо

Пример: "warning: libtool: local (2.4.6+44+gb9b44533-14) is newer than core (2.4.6+42+gb88cebd5-15) warning ..."

stdout

строка

добавлено в community.general 4.1.0

Вывод из pacman.

Возвращаемое значение: успех, когда необходимо

Пример: ":: Synchronizing package databases...  core is up to date :: Starting full system upgrade..."

Авторы

  • Индраджит Райчаудхури (@indrajitr)
  • Эрон Булл Шефер (@elasticdog)
  • Максим де Руси (@tchernomax)
  • Жан Раби (@jraby)

Ссылки на коллекцию

  • Трекер проблем
  • Репозиторий (источники)
  • Задать вопрос
  • Отправить сообщение об ошибке
  • Запросить функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/pacman_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API