Add repositories on an Amazon Linux instance - Amazon Elastic Compute Cloud

Add repositories on an Amazon Linux instance

This information applies to Amazon Linux 2 and Amazon Linux. For information about Amazon Linux 2023, see Using Deterministic upgrades through versioned repository in the Amazon Linux 2023 User Guide.


Standard support for the Amazon Linux AMI ended on December 31, 2020. The Amazon Linux AMI is now in a maintenance support phase which ends December 31, 2023. For more information, see the blog post Update on Amazon Linux AMI end-of-life.

By default, Amazon Linux instances launch with the following repositories enabled:

  • Amazon Linux 2: amzn2-core and amzn2extra-docker

  • Amazon Linux AMI: amzn-main and amzn-updates

While there are many packages available in these repositories that are updated by Amazon Web Services, there might be a package that you want to install that is contained in another repository.


This information applies to Amazon Linux. For information about other distributions, see their specific documentation.

To install a package from a different repository with yum, you need to add the repository information to the /etc/yum.conf file or to its own repository.repo file in the /etc/yum.repos.d directory. You can do this manually, but most yum repositories provide their own repository.repo file at their repository URL.

To determine what yum repositories are already installed
  • List the installed yum repositories with the following command:

    [ec2-user ~]$ yum repolist all

    The resulting output lists the installed repositories and reports the status of each. Enabled repositories display the number of packages they contain.

To add a yum repository to /etc/yum.repos.d
  1. Find the location of the .repo file. This will vary depending on the repository you are adding. In this example, the .repo file is at

  2. Add the repository with the yum-config-manager command.

    [ec2-user ~]$ sudo yum-config-manager --add-repo Loaded plugins: priorities, update-motd, upgrade-helper adding repo from: grabbing file to /etc/yum.repos.d/repository.repo repository.repo | 4.0 kB 00:00 repo saved to /etc/yum.repos.d/repository.repo

After you install a repository, you must enable it as described in the next procedure.

To enable a yum repository in /etc/yum.repos.d
  • Use the yum-config-manager command with the --enable repository flag. The following command enables the Extra Packages for Enterprise Linux (EPEL) repository from the Fedora project. By default, this repository is present in /etc/yum.repos.d on Amazon Linux AMI instances, but it is not enabled.

    [ec2-user ~]$ sudo yum-config-manager --enable epel

    To enable the EPEL repository on Amazon Linux 2, use the following command:

    [ec2-user ~]$ sudo yum install

    For information on enabling the EPEL repository on other distributions, such as Red Hat and CentOS, see the EPEL documentation at