0Pricing
DevOps Bootcamp · Урок

Установка пакетов модулем package

Управляйте программами в разных дистрибутивах.

«Установка пакетов модулем package» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Один модуль — много дистрибутивов

Модуль package устанавливает программное обеспечение, не требуя указывать менеджер пакетов. Он автоматически выбирает apt, dnf или yum для целевого хоста.

Устанавливайте с помощью state present

Чтобы установить программное обеспечение, укажите имя пакета и задайте state: present. Ansible установит его только при отсутствии.

ansible.builtin.package:
  name: nginx
  state: present

name задаёт пакет

Ключ 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: nginx

state present часто используется по умолчанию

Многие модули для работы с пакетами считают present состоянием по умолчанию. Тем не менее его стоит указывать явно, чтобы следующий читатель сразу понял ваше намерение.

Попробуйте разовую команду

Установить пакет можно разовой командой без плейбука. Эта команда установит git на каждом хосте группы web в одну строку.

ansible web -b -m package -a "name=git state=present"

Быстрая проверка

Вы хотите создать одну задачу, которая установит nginx на хостах Debian и Fedora.

Итоги

Модуль package устанавливает или удаляет пакеты с помощью состояний present и absent, принимает список, остаётся идемпотентным и работает в разных дистрибутивах. 📦

Часто задаваемые вопросы

Урок «Установка пакетов модулем package» бесплатный?

Да — полный текст урока «Установка пакетов модулем package» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Установка пакетов модулем package»?

Управляйте программами в разных дистрибутивах. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Установка пакетов модулем package»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Что на самом деле представляет собой модуль
  2. Установка пакетов модулем package
  3. Управление службами с systemd
  4. Чтение документации с ansible-doc
← Назад к DevOps Bootcamp