Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Enable EPEL with cloud-init via "User Data" (Amazon Linux)

I'm trying to install the p7zip package after launching an Amazon Linux-based EC2 instance in AWS via the "User Data" feature (using cloud-init):

#cloud-config
repo_update: true
repo_upgrade: all

packages:
 - p7zip

However since p7zip isn't available in the normal repos and requires EPEL to be enabled, it does not appear to be fetching the package properly.

My question is: using cloud-init, how do I enable EPEL before fetching packages when initialising the EC2 instance?

like image 411
TC Fox Avatar asked Feb 21 '26 13:02

TC Fox


2 Answers

#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
like image 83
Nandeesh Avatar answered Feb 24 '26 16:02

Nandeesh


For more recent versions of Amazon Linux, you need to add the following to cloud-config file:

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 

Here is an example of a working cloud-config file that can be used at boot as userdata.

like image 35
f-x Avatar answered Feb 24 '26 14:02

f-x



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!