Linux Repository List

In Linux, repositories play a vital role in delivering software packages to users. They are like centralized hubs where software packages are stored, managed, and distributed. Each Linux distribution has its own official repositories (sometimes called standard repositories). In this article, I will discuss how the repository works & list some of the commonly used repositories by different Linux distros.

What is a Repository in Linux?

A repository is a collection of packages in Linux just like a warehouse full of goods. Package managers use repositories to search and download software packages. When a user attempts to install a new software package, the package manager searches through the configured repositories of the operating system to locate the requested package.

Every family of Linux distributions (distros) comes with an inbuilt tool namely the package manager. These tools work on top of repositories that Linux practitioners can easily access and install their required software package.

How Does Repository Work?

Linux users generally use a package manager to discover and install new software packages. Afterward, the package manager checks the system’s configured repositories to find the requested package. Once the package manager finds the package in a repository, it retrieves the required files and installs the package on the user’s system.

Repositories hold essential information regarding the available packages, such as the package name, version, dependencies, and other metadata the system needs. Based on this information, the package manager determines which packages to install, which dependencies to resolve, and which packages are required to update.

Debian-Based Linux Repository

A Debian-based repository is a collection of Debian software packages and metadata organized for download and installation for the systems that are based on the Debian operating system or its derivatives (such as Ubuntu, Linux Mint, etc.).

In the Debian operating system, packages are categorized into different sections based on their functions & purposes. These sections include:

  • Main → Contains packages that adhere to Debian’s Free software Guidelines and are fully supported by the distro.
  • Contrib → Contains packages that depend on software from the ‘main’ section but might have more restrictive licenses.
  • Non-free → Contains packages that are not free.

Now, let’s talk about the repository used by one of the Debian-based Linux distributions, Ubuntu.

Ubuntu Repository List

Ubuntu repositories are mainly used by APT (Advanced Package Tool), the primary command line package manager in Ubuntu. Apt stores a list of repositories or software channels in the ‘/etc/apt/sources.list’ file. And inside the repository list, you will find the URLs or addresses of the software repositories that APT should use to download & install packages.

Ubuntu repositories are divided into four main types:

  • main: Contains officially supported open-source software & maintained by the Ubuntu community.
  • restricted: Proprietary software that is supported by Ubuntu but not open-source.
  • universe: Community-maintained open-source software.
  • multiverse: Contains proprietary or restricted software not supported by Ubuntu.

A. Viewing Apt Repository List

You can view the list of repositories enabled on your Ubuntu system by inspecting the ‘/etc/apt/sources.list’ file. As this file contains the URLs of the repositories with the package types they provide. To view just type the following command:

cat /etc/apt/sources.list

B. Adding a New Apt Repository

To add a new repository, you can either directly edit the ‘sources.list’ file or use the ‘add-apt-repository’ command. For example, to add the Universe repository:

sudo add-apt-repository universe

C. Updating Repository Information

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

sudo apt update

Best Ubuntu Repositories List

Apart from the official Ubuntu repositories, there are various third-party repositories that offer additional software. When we can’t find our necessary software under the official Ubuntu repositories it’s when we use these third-party repositories. Some of them are,

  • PPAs → Personal Package Archives are software repositories that allow Ubuntu users to upload and install Ubuntu source packages that are not available in the official Ubuntu repositories. PPAs are hosted on Launchpad, a web platform that provides various services for open-source projects.
  • Canonical Partner Repositories → Offers access to proprietary and closed-source software that is not included in the official Ubuntu repositories. Some of these repositories are Adobe Flash Player, Skype, Spotify, etc.
  • WebUpd8 PPA → A repository maintained by Web Upd8, a blog that covers Ubuntu and Linux news, tips, and tricks. Moreover, it offers applications like AP-Hotspot, Rhytmbox, Emerald, etc.
  • The Gimp → It’s an image editing program that has a faster repository than the one in Ubuntu.
  • Wine → A repository that allows you to run Windows applications on Linux.
  • Flatpak → Offers cross-distribution packages.
  • LibreOffice → Provides the latest version of the Office Suite.

Red Hat-Based Linux Repository

A Red-Hat-based repository is a source of software packages for Red Hat-based Linux distributions (e.g., RHEL, Fedora, CentOS, etc. ) that use either RPM or YUM/DNF as package management tools. Now, let’s talk about the repository used by one of the Red Hat-based Linux distributions, CenOS.

Centos Repository List

A collection of software packages that are mainly used by YUM (Yellowdog Updater Modified), a package management tool used in Red Hat-based Linux distributions, such as Red Hat Enterprise Linux (RHEL), CentOS, Fedora, and Oracle Linux. It 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.

CentOS has several official repositories that 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.

A. Viewing Yum Repositories List

Yum repository configurations are found in files with ‘.repo’ extensions within the ‘/etc/yum.repos.d/’ directory. You can view the list using the following command syntax:

yum repolist [OPTIONS]

  • Check the list with detailed info on each repo:
yum -v repolist
  • 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

B. 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, use the command syntax:

sudo yum-config-manager --add-repo <repository-url>

C. Updating Repository Information

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

sudo yum update

Docker Repository List

A Docker repository is a collection of Docker images, which are pre-packaged software components containing everything needed to run a piece of software, including the code, runtime, libraries, and system tools. Docker images can be hosted in repositories on Docker Hub or other container image registries.

Difference Between Docker Repository & Registry

Docker repository is a collection of different Docker images with the same name, that have different tags. Whereas, tags are alphanumeric identifiers attached to images within a repository. These images share a common base image and might have variations or updates represented by different tags.

On the other hand, a Docker registry is a storage and distribution system for Docker images. It’s a service that hosts Docker repositories and allows you to store and manage Docker images. Registries are where you push your Docker images so that they can be pulled by others or by different systems.

Here are some commonly used Docker repositories and registries:

  • Docker Hub → Docker Hub hosts individual Docker repositories, which are collections of Docker images. Each repository can contain multiple versions of an image, each identified by a unique tag. Moreover, Docker Hub itself acts as a registry where these repositories are hosted.
  • Official Images → Docker Hub provides a set of official images maintained and supported by the Docker Hub. These are a curated set of Docker open-source and drop-in solution repositories. They have clear documentation, promote best practices, and are designed for the most common use cases.
  • Azure Container Registry → Microsoft Azure’s container registry is designed for hosting Docker images within the Azure ecosystem.
  • GitHub Container Registry → A private and integrated registry for Gitlab users, where you can store and manage your images along with your code.
  • Harbor → An open-source container registry that can be self-hosted. It’s compatible with most cloud services and Continuous Integration and Continuous Delivery (CI/CD) platforms. Moreover, it’s a good on-premises solution.
  • Amazon ECR → Amazon Web Services (AWS) provides ECR as a managed Docker container registry that integrates well with AWS services.

Conclusion

To conclude, repositories are vital for Linux package management, providing a simple and organized way to access software. Whether you’re using Ubuntu, Debian, CentOS, or other distributions, understanding how to view, add, and update repositories is essential for a smooth software experience. Hope this article helps!

People Also Ask

How do I list all repositories in Linux?
To list repositories configured on your Linux system, first, you have to see which Linux distro & 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’.

Where are Linux repositories?
Linux repositories are like centralized hubs where software packages are stored, managed, and distributed. Each Linux distribution has its own official repositories (sometimes called standard repositories).

How do I list all apt repositories?
To list all apt repositories use the command syntax, ‘apt list –all-repos’. This will give the list of all repositories in your Debian-based Linux distro regardless of the repository being enabled or disabled.

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

Related Articles


<< Go Back to Package Management in Linux | Learn Linux Basics

Rate this post
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