Установка пакетов модулем package
Управляйте программами в разных дистрибутивах.
«Установка пакетов модулем package» — бесплатный урок Ansible Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ansible Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ansible Academy содержит 4 уроков всего.
Один модуль — много дистрибутивов
Модуль package устанавливает программное обеспечение, не требуя указывать менеджер пакетов. Он автоматически выбирает apt, dnf или yum для целевого хоста.
Устанавливайте с помощью state present
Чтобы установить программное обеспечение, укажите имя пакета и задайте state: present. Ansible установит его только при отсутствии.
ansible.builtin.package:
name: nginx
state: presentname задаёт пакет
Ключ name содержит название пакета, используемое дистрибутивом, например nginx или git. Названия большинства распространённых пакетов совпадают в разных дистрибутивах.
name: gitУдаляйте с помощью state absent
Задайте state: absent, чтобы удалить пакет. Модуль удалит его только при наличии, сохраняя идемпотентность.
ansible.builtin.package:
name: telnet
state: absentУстанавливайте список сразу
Передайте в name список, и модуль установит все пакеты в рамках одной задачи. Это аккуратнее и быстрее, чем множество отдельных задач.
ansible.builtin.package:
name:
- git
- curl
- vim
state: presentОн идемпотентен
Запустите задачу дважды — во второй раз она сообщит ok, а не changed. Пакет уже установлен, поэтому повторно ничего не произойдёт.
package оборачивает штатный менеджер
Модуль package — это универсальная оболочка. Внутри он вызывает apt в Debian или dnf в Fedora, поэтому задачу достаточно написать один раз.
При необходимости выбирайте специализированные модули
Для возможностей, доступных только у конкретного менеджера, используйте напрямую apt или dnf. Они предоставляют параметры вроде update_cache, которых нет у package.
ansible.builtin.apt:
name: nginx
update_cache: trueОбычно требуется повышение привилегий
Для установки программного обеспечения нужны права root, поэтому добавьте become: true в задачу или плей. После этого Ansible выполнит задачу package с помощью sudo.
- name: Install nginx
become: true
ansible.builtin.package:
name: nginxstate present часто используется по умолчанию
Многие модули для работы с пакетами считают present состоянием по умолчанию. Тем не менее его стоит указывать явно, чтобы следующий читатель сразу понял ваше намерение.
Попробуйте разовую команду
Установить пакет можно разовой командой без плейбука. Эта команда установит git на каждом хосте группы web в одну строку.
ansible web -b -m package -a "name=git state=present"Быстрая проверка
Вы хотите создать одну задачу, которая установит nginx на хостах Debian и Fedora.
Итоги
Модуль package устанавливает или удаляет пакеты с помощью состояний present и absent, принимает список, остаётся идемпотентным и работает в разных дистрибутивах. 📦
Часто задаваемые вопросы
Урок «Установка пакетов модулем package» бесплатный?
Да — полный текст урока «Установка пакетов модулем package» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ansible Academy, подпишись на CoddyKit PRO. Курс Ansible Academy содержит 4 уроков всего.
Чему я научусь в уроке «Установка пакетов модулем package»?
Управляйте программами в разных дистрибутивах. Ты практикуешь Ansible Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ansible Academy?
Предыдущий опыт не требуется. Ansible Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Установка пакетов модулем package»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ansible Academy?
Да. Каждый урок Ansible Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Что на самом деле представляет собой модуль
- Установка пакетов модулем package
- Управление службами с systemd
- Чтение документации с ansible-doc