Spec-Zone.ru › Ansible 2.11

ansible.builtin.apt – Управление пакетами apt

Примечание

Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев, вы можете использовать короткое имя модуля apt, даже без указания collections: ключевого слова. Тем не менее, мы рекомендуем использовать полное имя модуля (FQCN) для удобной ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь такое же имя модуля.

В версии 0.0.2: из ansible.builtin

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Значения возврата

Описание

  • Управление пакетами apt (такими как для Debian/Ubuntu).

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • python-apt (python 2)
  • python3-apt (python 3)
  • aptitude (до версии 2.4)

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
allow_unauthenticated
boolean
добавлен в версии 2.1 ansible.builtin
    Варианты:
  • нет ←
  • да
Игнорировать, если пакеты не могут быть проверены. Это полезно для настройки сред, которые сами управляют настройкой ключей apt.
allow_unauthenticated поддерживается только со значением state: install/present

псевдонимы: allow-unauthenticated
autoclean
boolean
добавлен в версии 2.4 ansible.builtin
    Варианты:
  • нет ←
  • да
Если yes, очищает локальный репозиторий от полученных файлов пакетов, которые больше не могут быть загружены.
autoremove
boolean
добавлен в версии 2.1 ansible.builtin
    Варианты:
  • нет ←
  • да
Если yes, удаляет неиспользуемые зависимые пакеты для всех состояний модуля, кроме build-dep. Его также можно использовать как единственный параметр.
До версии 2.4, autoclean также был псевдонимом для autoremove, теперь это отдельный параметр. См. документацию для получения дополнительной информации.
cache_valid_time
integer
Значение по умолчанию:
0
Обновить кэш apt, если он старше, чем cache_valid_time. Этот параметр задаётся в секундах.
Начиная с Ansible 2.4, если явно задан, это устанавливает update_cache=yes.
deb
path
добавлен в версии 1.6 ansible.builtin
Путь к пакету .deb на удалённой машине.
Если :// в пути, Ansible попытается загрузить deb перед установкой. (Добавлена в версии 2.1)
Требуется пакет xz-utils, чтобы извлечь файл управления пакета deb для установки.
default_release
string
Соответствует параметру -t для apt и устанавливает приоритеты фиксаций.

псевдонимы: default-release
dpkg_options
string
Значение по умолчанию:
"force-confdef,force-confold"
Добавить параметры dpkg к команде apt. По умолчанию '-o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold"'
Параметры должны быть указаны через запятую
fail_on_autoremove
boolean
добавлен в версии 2.11 ansible.builtin
    Варианты:
  • нет ←
  • да
Соответствует параметру --no-remove для apt.
Если yes, гарантируется, что никакие пакеты не будут удалены, или задача завершится с ошибкой.
fail_on_autoremove поддерживается только со значением state, кроме absent
force
boolean
    Варианты:
  • нет ←
  • да
Соответствует параметру --force-yes для apt-get и подразумевает allow_unauthenticated: yes
Этот параметр отключит проверку подписей пакетов и сертификатов веб-серверов, с которых они загружаются.
Этот параметр *не* эквивалентен передаче флага -f для apt-get в командной строке
**Это разрушительная операция, которая может нанести ущерб вашей системе, и её следует использовать крайне редко.** Также см. man apt-get для получения дополнительной информации.
force_apt_get
boolean
добавлен в версии 2.4 ansible.builtin
    Варианты:
  • нет ←
  • да
Принудительное использование apt-get вместо aptitude
install_recommends
boolean
    Варианты:
  • нет
  • да
Соответствует параметру --no-install-recommends для apt. yes устанавливает рекомендуемые пакеты. no не устанавливает рекомендуемые пакеты. По умолчанию Ansible будет использовать те же значения по умолчанию, что и операционная система. Рекомендуемые пакеты никогда не устанавливаются.

псевдонимы: install-recommends
name
list / элементы=string
Список имён пакетов, например foo, или спецификатор пакета с версией, например foo=1.0. Также поддерживаются шаблоны имён (fnmatch), такие как apt*, и шаблоны версий, такие как foo=1.0*.

псевдонимы: package, pkg
only_upgrade
boolean
добавлен в версии 2.1 ansible.builtin
    Варианты:
  • нет ←
  • да
Только обновлять пакет, если он уже установлен.
policy_rc_d
integer
добавлен в версии 2.8 ansible.builtin
Принудительно установить код возврата /usr/sbin/policy-rc.d.
Например, если policy_rc_d=101, установленный пакет не запустит службу.
Если /usr/sbin/policy-rc.d уже существует, он будет сохранён и восстановлен после установки пакета.
Если null, /usr/sbin/policy-rc.d не будет создан/изменён.
purge
boolean
    Варианты:
  • нет ←
  • да
Принудительно удалит файлы конфигурации, если состояние модуля установлено в absent.
state
string
    Варианты:
  • absent
  • build-dep
  • latest
  • present ←
  • fixed
Указывает желаемое состояние пакета. latest гарантирует установку последней версии. build-dep гарантирует установку зависимостей сборки пакета. fixed попытка исправить систему с повреждёнными зависимостями.
update_cache
boolean
    Варианты:
  • нет
  • да
Выполнить эквивалент apt-get update перед операцией. Может быть выполнен как часть установки пакета или как отдельный шаг.
По умолчанию кэш не обновляется.

псевдонимы: update-cache
update_cache_retries
integer
добавлен в версии 2.10 ansible.builtin
Значение по умолчанию:
5
Количество попыток, если обновление кэша завершится неудачей. См. также update_cache_retry_max_delay.
update_cache_retry_max_delay
integer
добавлен в версии 2.10 ansible.builtin
Значение по умолчанию:
12
Использовать экспоненциальную задержку повторных попыток (см. update_cache_retries) до этой максимальной задержки в секундах.
upgrade
string
добавлен в версии 1.1 ansible.builtin
    Варианты:
  • dist
  • full
  • нет ←
  • safe
  • да
Если да или безопасно, выполняет безопасное обновление aptitude.
Если полностью, выполняет полное обновление aptitude.
Если dist, выполняет apt-get dist-upgrade.
Примечание: Это не обновляет конкретный пакет, используйте state=latest для этого.
Примечание: Начиная с версии 2.4, apt-get используется как резервный вариант, если aptitude отсутствует.

Примечания

Примечание

  • Три режима обновления (full, safe и его псевдоним yes) требовали aptitude до версии 2.3, начиная с версии 2.4 используется apt-get в качестве резервного варианта.
  • В большинстве случаев, пакеты, установленные с помощью apt, будут запускать новые установленные службы по умолчанию. У большинства дистрибутивов есть механизмы для предотвращения этого. Например, при установке Postgresql-9.5 в Debian 9, создание исполняемого скрипта shell (/usr/sbin/policy-rc.d), который возвращает код 101, остановит запуск Postgresql 9.5 после установки. Удалите файл или удалите его права выполнения после этого.
  • Командная строка apt-get поддерживает неявные соответствия по регулярным выражениям здесь, но мы их не используем, так как это может привести к ошибкам ввода легче (Если вы ошиблись в написании foo как fo, apt-get установит пакеты, в которых есть “fo” в их имени, с предупреждением и запросом к пользователю. Так как у нас нет предупреждений и запросов перед установкой, мы запрещаем это. Используйте явное совпадение fnmatch, если вам нужно подстановочное соответствие.)
  • При использовании с loop:, каждый пакет будет обрабатываться индивидуально, гораздо эффективнее передать список непосредственно параметру name.

Примеры

- name: Install apache httpd  (state=present is optional)
  apt:
    name: apache2
    state: present

- name: Update repositories cache and install "foo" package
  apt:
    name: foo
    update_cache: yes

- name: Remove "foo" package
  apt:
    name: foo
    state: absent

- name: Install the package "foo"
  apt:
    name: foo

- name: Install a list of packages
  apt:
    pkg:
    - foo
    - foo-tools

- name: Install the version '1.00' of package "foo"
  apt:
    name: foo=1.00

- name: Update the repository cache and update package "nginx" to latest version using default release squeeze-backport
  apt:
    name: nginx
    state: latest
    default_release: squeeze-backports
    update_cache: yes

- name: Install zfsutils-linux with ensuring conflicted packages (e.g. zfs-fuse) will not be removed.
  apt:
    name: zfsutils-linux
    state: latest
    fail_on_autoremove: yes

- name: Install latest version of "openjdk-6-jdk" ignoring "install-recommends"
  apt:
    name: openjdk-6-jdk
    state: latest
    install_recommends: no

- name: Update all packages to their latest version
  apt:
    name: "*"
    state: latest

- name: Upgrade the OS (apt-get dist-upgrade)
  apt:
    upgrade: dist

- name: Run the equivalent of "apt-get update" as a separate step
  apt:
    update_cache: yes

- name: Only run "update_cache=yes" if the last one is more than 3600 seconds ago
  apt:
    update_cache: yes
    cache_valid_time: 3600

- name: Pass options to dpkg on run
  apt:
    upgrade: dist
    update_cache: yes
    dpkg_options: 'force-confold,force-confdef'

- name: Install a .deb package
  apt:
    deb: /tmp/mypackage.deb

- name: Install the build dependencies for package "foo"
  apt:
    pkg: foo
    state: build-dep

- name: Install a .deb package from the internet
  apt:
    deb: https://example.com/python-ppq_0.1-1_all.deb

- name: Remove useless packages from the cache
  apt:
    autoclean: yes

- name: Remove dependencies that are no longer required
  apt:
    autoremove: yes

# Sometimes apt tasks fail because apt is locked by an autoupdate or by a race condition on a thread.
# To check for a lock file before executing, and keep trying until the lock file is released:
- name: Install packages only when the apt process is not locked
  apt:
    name: foo
    state: present
  register: apt_action
  retries: 100
  until: apt_action is success or ('Failed to lock apt for exclusive operation' not in apt_action.msg and '/var/lib/dpkg/lock' not in apt_action.msg)

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

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

Ключ Возвращаемое значение Описание
cache_update_time
целое число
успех, в некоторых случаях
время последнего обновления кэша (0, если неизвестно)

Пример:
1425828348000
cache_updated
булево
успех, в некоторых случаях
обновлен ли кэш или нет

Пример:
True
stderr
строка
успех, при необходимости
вывод ошибок из apt

Пример:
AH00558: apache2: Не удалось надёжно определить полное доменное имя сервера, используется 127.0.0.1. Установите директиву 'ServerName' глобально, чтобы...
stdout
строка
успех, при необходимости
вывод из apt

Пример:
Чтение списка пакетов... Построение дерева зависимостей... Чтение состояния информации... Следующие дополнительные пакеты будут установлены: apache2-bin ...


Авторы

  • Matthew Williams (@mgwilliams)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/apt_module.html

Spec-Zone.ru

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