Ansible

Как включить репозиторий EPEL в CentOS с помощью Ansible

Как включить репозиторий EPEL в CentOS с помощью Ansible
В этой статье я покажу вам, как включить репозиторий EPEL в CentOS с помощью Ansible. Итак, приступим.

Предпосылки

Чтобы включить репозиторий EPEL на машинах CentOS 7 или CentOS 8 с Ansible:

  1. На вашем компьютере должен быть установлен Ansible.
  2. У вас должны быть машины CentOS 7 или CentOS 8, настроенные для автоматизации Ansible.

На LinuxHint есть много статей, посвященных установке Ansible и настройке хостов для автоматизации Ansible. Вы можете проверить эти статьи, если это необходимо для ваших целей.

Включение репозитория EPEL на хостах CentOS

Сначала создайте каталог проекта ~ / проект с помощью следующей команды:

$ mkdir -pv ~ / проект / плейбуки

Перейдите к ~ / проект каталог с помощью следующей команды:

$ cd ~ / проект

Создать новый файл хозяева в каталоге проекта и откройте его с помощью текстового редактора nano следующим образом:

$ nano хосты

Пустой файл хозяева должен быть создан и открыт с помощью текстового редактора nano.

Введите IP-адреса или DNS-имена целевых компьютеров CentOS 7 и CentOS 8 (на которых вы хотите включить репозиторий EPEL) в поле Centos раздел хозяева файл, как показано ниже:

[centos]
192.168.20.169
192.168.20.222

Здесь, 192.168.20.169 это IP-адрес моей виртуальной машины CentOS 8 и 192.168.20.222 это IP-адрес моей виртуальной машины CentOS 7. Это будет другим для вас. Обязательно замените образцы IP-адресов своим собственным списком.

ПРИМЕЧАНИЕ: Вы можете найти IP-адреса ваших хостов CentOS с помощью следующей команды:

$ hostname -I

Если на ваших хостах CentOS настроены DNS-имена, вы сможете найти их с помощью следующей команды:

$ hostname -A

Финал хозяева файл должен выглядеть так, как показано на скриншоте ниже.

Теперь сохраните файл hosts, нажав + Икс с последующим Y а также .

Создайте файл конфигурации Ansible анзибль.cfg следующим образом:

$ нано доступный.cfg

Введите следующие строки в анзибле.cfg файл:

[по умолчанию]
инвентарь =./ хосты

По завершении этого шага сохраните файл, нажав + Икс с последующим Y а также .

Теперь создайте новую пьесу Ansible enable_epel_repo.ямл в пьесы / каталог следующим образом:

$ nano playbooks / enable_epel_repo.ямл

Затем введите следующие коды в поле enable_epel_repo.ямл файл:

- хосты: centos
пользователь: ansible
задачи:
- name: Включить репозиторий EPEL в CentOS 8
dnf:
имя: эпель-релиз
состояние: последнее
становятся истинными
когда: ansible_facts ['os_family'] == 'RedHat' и ansible_facts
['distribution_major_version'] == '8'
- name: Включить репозиторий EPEL в CentOS 7
ням:
имя: эпель-релиз
состояние: последнее
становятся истинными
когда: ansible_facts ['os_family'] == 'RedHat' и ansible_facts
['distribution_major_version'] == '7'

В этом коде:

хосты: centos, выбирает только хосты в Centos группа из хозяева файл.

пользователь: ansible, имя пользователя SSH хостов (где Ansible будет запускать задачи) будет анзибль.

Я определил 2 задачи здесь. Один для хостов CentOS 8 и один для хостов CentOS 7. Причина, по которой я сделал это таким образом, заключается в том, что диспетчер пакетов по умолчанию для CentOS 8 - это DNF, а CentOS 7 - это YUM. Одна задача (первая задача) будет использовать диспетчер пакетов DNF и будет выполняться только на хостах CentOS 8. Другая задача (последняя задача) будет использовать менеджер пакетов YUM и будет выполняться только на хостах CentOS 7.

Эти две задачи практически идентичны. Единственные отличия - это модули диспетчера пакетов (dnf а также ням) используется в задачах и коде проверки версии CentOS.

dnf а также ням Модули Ansible принимают одинаковые параметры.

Здесь, имя: эпель-релиз, устанавливаемый пакет - это эпель-релиз.

состояние: последнее, посылка эпель-релиз должен быть установлен. Если пакет уже установлен и доступна обновленная версия, то пакет будет обновлен.

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

ansible_facts, используется для доступа к переменным хоста Ansible.

ansible_facts ['os_family'] == 'RedHat', проверяет, является ли ОС хоста CentOS или RedHat.

ansible_facts ['distribution_major_version'] == '8', проверяет, является ли версия ОС хоста 8 (в данном случае CentOS 8 или RedHat 8).

ansible_facts ['distribution_major_version'] == '7', проверяет, является ли версия ОС хоста 7 (в данном случае CentOS 7 или RedHat 7).

Затем сохраните enable_epel_repo.ямл файл, нажав + Икс с последующим Y а также .

Теперь вы можете запустить сценарий Ansible следующим образом:

Плейбуки $ ansible-playbook / enable_epel_repo.ямл

Плейбук должен работать без ошибок, а репозиторий EPEL должен быть включен как на хостах CentOS 7, так и на CentOS 8.

Как видите, на моем хосте CentOS 8 включен репозиторий EPEL.

Как видите, на моем хосте CentOS 7 включен репозиторий EPEL.

Итак, вот как вы включаете репозиторий EPEL в CentOS с помощью Ansible. Спасибо, что прочитали эту статью.

Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...
Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...