Включить EPEL с помощью облачной инициализации через "Данные пользователя" (Amazon Linux)

Я пытаюсь установить p7zip пакет после запуска экземпляра EC2 на базе Amazon Linux в AWS через функцию "Данные пользователя" (используя cloud-init):

#cloud-config
repo_update: true
repo_upgrade: all

packages:
 - p7zip

Однако так как p7zip недоступен в обычных репозиториях и требует, чтобы EPEL был включен, он не загружает пакет должным образом.

Мой вопрос: с помощью cloud-initКак включить EPEL перед загрузкой пакетов при инициализации экземпляра EC2?

2 ответа

#cloud-config
# vim: syntax=yaml
#
# Add yum repository configuration to the system
#
# The following example adds the file /etc/yum.repos.d/epel_testing.repo
# which can then subsequently be used by yum for later operations.
yum_repos:
    # The name of the repository
    epel-testing:
        # Any repository configuration options
        # See: man yum.conf
        #
        # This one is required!
        baseurl: http://download.fedoraproject.org/pub/epel/testing/5/$basearch
        enabled: false
        failovermethod: priority
        gpgcheck: true
        gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL
        name: Extra Packages for Enterprise Linux 5 - Testing

Для более поздних версий Amazon Linux вам необходимо добавить следующее в файл cloud-config:

yum_repos:
    epel_custom:
        name: Extra Packages for Enterprise Linux 6 - $basearch
        baseurl: http://download.fedoraproject.org/pub/epel/6/$basearch
        mirrorlist: https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
        failovermethod: priority
        enabled: true
        gpgcheck: true
        gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 

Вот пример рабочего файла конфигурации облака, который можно использовать при загрузке в качестве пользовательских данных.

В следующих разделах EPEL будет включен с GPG. Обратите внимание, что ключ импортируется при начальной загрузке.

#cloud-config
bootcmd:
  - [ cloud-init-per, once, gpg-key-epel, rpm, "--import", "https://archive.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7" ]
yum_repos:
  epel:
    name: EPEL
    mirrorlist: https://mirrors.fedoraproject.org/mirrorlist?repo=epel-7&arch=$basearch
    enabled: true
    gpgcheck: true
repo_update: true
repo_upgrade: all

С https://github.com/trajano/terraform-docker-swarm-aws/blob/master/common.cloud-config

Другие вопросы по тегам