A Complete Guide on Yum Repository List in Linux

A YUM (Yellowdog Updater, Modified) repository, is a repository of software packages for the high-level Yum package manager which is commonly used in Red Hat-based Linux distributions such as RHEL, CentOS, and Fedora. YUM configures repositories for handling software packages by taking care of dependencies automatically. From this article, you will learn the basics of YUM repository configuration & how you can manage the repository list to handle them effectively.

What is a YUM Repository?

A YUM repository is essentially a collection of software packages and metadata files organized in a specific directory structure on a server or a network location. YUM package manager uses these repositories to find and retrieve packages and their dependencies when you want to install or update software on your Linux system.

Yum Repository Configuration

Repository configuration is essential for efficient package management. Yum repository configurations are found in files with ‘.repo’ extensions within the ‘/etc/yum.repos.d/’ directory. To configure repositories in YUM, you will work with these ‘.repo’ files. These files contain the necessary information for YUM to access software packages and metadata. Now, for custom configurations, you can either use existing ‘.repo’ files or create new ones. Additionally, /etc/yum.conf is a file containing global configuring options.

A typical repo configuration file entry contains the following information:

  • [repository-name]: Repository’s unique identifier.
  • name: Provides a human-readable name for the repository.
  • baseurl: Points to the URL where the repository’s package is hosted.
  • enabled: Is set to ‘1’ to enable the repository.
  • gpgcheck: Is set to ‘1’ to enable GPG signature checking for package authenticity.
  • gpgkey: Specifies the URL for the GPG key used ro sign packages.

Red-Hat-Based Repository list

Red Hat-based Linux distributions such as RHEL, CentOS, and Fedora use YUM as a package manager. YUM is similar in function and purpose to APT in Debian-based distributions like Ubuntu. Besides, it supports plugins that extend its functionality, allowing you to customize and enhance the package management experience.

Some official repositories used by Red-Hat_Based distros are enabled by default, such as:

  • Base Repository → The core set of packages that make up CentOS. It contains essential software and libraries required for the operating system.
  • Updates Repository → Updated packages to the Base Repository released after the CentOS ISOs. This includes security, bugfix, or enhancement updates.
  • Extras → Additional packages that are not in the Base or Updates repositories, such as new Kernel modules or third-party software.

Managing YUM Repository List

For maintaining your Red-Hat-based Linux system, Managing YUM is an important task. Repository lists determine where your package manager, such as YUM, looks for software packages and updates. Here are some basic operations you can perform to manage your repository list:

1. Viewing the Yum Repositories List

By typing and running a single line command, you can list all the Yum repositories including any newly added ones on your system. To view the list use the following command syntax:

yum repolist [OPTIONS]
EXPLANATION
  • yum: Command used in yum package management.
  • repolist: Shows all the configured and enabled repositories.
  • [OPTIONS]: Command options to modify the output. Multiple options can be used at a time.

Check out the yum repolist command with some command options:

  • Check the list with detailed info on each repo:

yum -v repolist
view verbose YUM repository listView Verbose YUM repository listFrom the images, you can see the verbose information of each repository that is present in my system. From there you can see each ID, name, version, last update time, number of packages, number of packages available for installation, size, URL, & filename. Moreover, at the bottom, you can also view the number of total packages available.

  • Check the list of only enabled repos:
yum repolist enabled
  • Check the list of only disabled repos:
yum repolist disabled
  • Check the list of all repos:
yum repolist all

view all YUM repository listFrom the image, you can notice the long list (all of them didn’t fit in the screen) of repositories (both disabled & enabled) that are present in my system.

2. Adding a New Yum Repository

To add a Yum repository using the command line on an RPM-based Linux distribution (such as CentOS, Fedora, or RHEL), you can create a ‘.repo’ file in the ‘/etc/yum.repos.d/’ directory with the repository configuration, and finally update Yum cache after adding.

Or you can simply use the ‘yum-config-manager’ command. For that, you need the yum-utils package to be installed for working with the command. So first let’s install the package by the following command:

sudo yum install yum-utils
EXPLANATION
  • yum-utils: Package that includes yum tools and utilities.

Instal YUM toolsAfter executing the command, you will see a prompt for confirmation to install the packages. There type ‘y’ which indicates ‘yes’ to all yum-utils packages.

Now that I have successfully added yum-tools, let’s add a new repository in my system,  say ‘docker’. For that copy the following command:

sudo yum-config-manager \ --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
EXPLANATION
  • sudo: Grants root privilege.
  • yum-config-manager: Adds/removes a Yum repository.
  • –add-repo: Command option that adds a new repository to the system.
  • https://download.docker.com/linux/centos/docker-ce.repo: Repository URL.

Add a new yum repositoryFrom the image, you can see the new repository ‘docker-ce-stable’ has been added.

3. Removing a Yum Repository

Yum does not provide a built-in option for removing repositories. But what you can do is you can temporarily disable any of the repositories with the –disable option of the ‘yum-config-manager’ command or you can manually go to the ‘/etc/yum.repos.d/’ file & then remove the corresponding repository configuration file. You can also use the rm command to remove that configured repo file if you know about it beforehand. For that, first, let’s see the list of enabled repositories in my system:

sudo yum repolist enabled

enable a YUM repositoryFrom the list, you can see all of my enabled repository IDs & names that are present in my system.

Now I will disable my previously added docker repository using the following command:

sudo yum-config-manager --disable docker-ce-stable
EXPLANATION
  • –disable: This option will disable the following repository.
  • docker-ce-stable: The repository I want to disable.

Next, check if it has really been disabled or not using the ‘yum repolist all’ command I used previously.

NOTE: To show you only the result related to ‘docker-ce-stable’ from the long output list, I used the grep command.

Disable a YUM repositoryFrom the image, you can see I have successfully disabled the ‘docker’ repository.

4. Updating the Repository Info

After adding or modifying repositories, you need to update the repository information. You can do this by using the following command:

sudo yum update
EXPLANATION
  • update: Instructs the package manager to update the repository log.

Update YUM repository ListFrom the snap, you can notice that I have updated my system list after the repository modification.

Priorities in Yum Repositories

Yum offers a feature called Repository Priorities that can be effective at times. As it can be assigned to control the preference of one repository over another when resolving package dependencies. Priority values are integers that range from 1 (highest priority) to 99 (lowest priority). Here are some important terms you need to know to learn how it works:

  • Higher Priority Repositories: When multiple repositories provide the same package, YUM will prefer the package from the repository with the highest priority.
  • Conflict Resolution: If there is a conflict between packages from different repos (e.g., conflicting dependencies), YUM will prioritize the package from the higher-priority repository.
  • Multiple Repositories of the Same Priority: In this situation, YUM will choose the package from the most recently updated repository.

Configuring Repository Priority

You can configure your repository priorities by enabling & disabling priority levels for them. Here’s how you can set & unset a repository priority:

Enabling Priority:

You can manually set the priority of a YUM repository by editing the configuration file located in the ‘/etc/yum.repos.d/’ directory. Just add a line in the configuration file, like ‘priority=N’, where ‘N’ is the desired priority value.

Disabling Priority:

To disable the set priority you can just remove the priority line from the configuration file.

List of Some Top YUM Repositories

Besides the official YUM repositories, there are some top third-party repositories that are frequently recommended by the Linux community. Some of these repos with their official URL are:

  • RPMFusin

It offers packages that are not included in the Fedora or Red Hat repositories, expanding software availability.

URL: https://rpmfusion.org/

  • EPEL

EPEL (Extra Packages for Enterprise Linux) provides the latest packages and extra packages for RHEL, CentOS, & Fedora.

URL: https://docs.fedoraproject.org/en-US/epel/

  • REMI

REMI’s repository is known for providing the latest versions of PHP and related software packages for CentOS, Fedora, and RHEL systems. It offers both PHP updates and compatibility packages.

URL: https://rpms.remirepo.net/

  • EL Repo

EL Repo (Enterprise Linux Repo) is dedicated to providing hardware-related packages and drivers for CentOS and RHEL systems. It is particularly useful for managing hardware support.

URL: http://elrepo.org/tiki/HomePage

  • Webtatic

Webtatic offers up-to-date versions of various web-related software packages, including PHP, and MySQL for CentOS and RHEL systems. It is commonly used for web server setups.

URL: https://webtatic.com/

Advantages of Installing Software From YUM Repositories

Installing software from YUM repositories in red-hat-based Linux distros offers several advantages. Some of them are:

  • Easy Software Management → Yum simplifies the installation process by handling dependencies automatically. Moreover, it serves as a centralized location for software distribution.
  • Security → Packages are often signed with GPG (GNU Privacy Guard) keys, ensuring the authenticity of the software.
  • Version Control → Contains multiple versions of packages, allowing users to install specific versions or update to the latest version.
  • Software Dependency Resolution → Software dependencies are automatically resolved and installed.
  • Official Red Hat Package Manager → YUM is the official Red Hat package manager.
  • Community & Third-party Repositories → Along with official repositories, there are community and third-party repositories that extend the range of available software.

Conclusion

To sum up, managing YUM repository lists is essential for installing and maintaining software packages on your Linux system. It allows you to control which software sources your package manager uses, ensuring a well-maintained and secure system. Hope this writing helps you in managing them!

People Also Ask

How do I list repositories in yum?

To list yum repos in your system, use the command syntax, ‘yum repolist all’.This will give the list of all repositories in your RPM-based Linux distro regardless of the repository being enabled or disabled.

Where are the yum repositories?

YUM (Yellowdog Updater, Modified) repositories are typically hosted on remote servers and can be accessed via the Internet. The specific location (URL) of YUM repositories can vary depending on the repository provider and the Linux distribution you are using.

How to list all repos in Linux?

To list all repositories configured on your Linux system, first, you have to see which Linux distro and Package Manager you are using. As commands used for viewing the repository list vary based on the distro & package manager. For APT, use the command syntax, ‘apt list –all-repos’, for YUM, use ‘yum repolist –all’ & for Pacman use, ‘pacman -Slq’.

How do I find my yum repo ID?

To find the YUM repository ID, you can use the ‘yum repolist’ command. This command will list all the configured YUM repositories on your system along with their respective IDs.

4.9/5 - (10 votes)
Monira Akter Munny

Hello!! This is Monira Akter Munny. I'm a Linux content developer executive here, at SOFTEKO company. I have completed my B.Sc. in Engineering from Rajshahi University of Engineering & Technology in the Electrical & Electronics department. I'm more of an online gaming person who also loves to read blogs & write. As an open-minded person ready to learn & adapt to new territory, I'm always excited to explore the Linux world & share it with you! Read Full Bio

Leave a Comment