The term ‘Repository’ or in short ‘repo’ in ‘Ubuntu Repository’ refers to a specific software repository, which is a centralized location where Ubuntu stores software packages and updates. In this article, I will give an overview of how the Ubuntu repository works & discuss the list of Ubuntu repositories.
How Ubuntu Repository Works
Repositories are mainly used by APT (Advanced Package Tool), the primary command line package manager in Ubuntu and other Debian-based Linux distributions. 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.
Breakdown of Ubuntu Repository Entry
Each repository entry in the list specifies the location of the repository, the release code name (i.e., focal, bionic. etc), and the sections of packages (main, restricted, universe, multiverse) available in that repository.
- deb: These repositories contain binaries or precompiled packages. They are required for most users.
- deb-src: They contain the source code of the packages. These are useful for developers.
- URL: This is the web address where the repository is hosted. For example, ‘http://archive.ubuntu.com/ubuntu/’ is the URL for the official Ubuntu repository.’
- Release Code Name: Represents the code name of the specific Ubuntu release version, such as ‘jammy’ for Ubuntu 22.04.2 LTS.
- Sections: Ubuntu repositories are divided into four main sections:
- 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.
Each section contains different software packages and users can choose which repositories to include in their system’s repository list based on their software requirements & preferences.
Types of Ubuntu Repositories
Four official repositories of Ubuntu are Main, Restricted, Universe & Multiverse, which contain different types of software packages. Besides these, there are some Partner repositories that are provided by Ubuntu’s partners but are not free or open source. And there are these Third-party repos, which provide additional software which is not found within the official repos. Check out the following writing for more info about them:
The term “Main” refers to the primary repository in Ubuntu, containing exclusively Free and Open-Source Software (FOSS). This repository is enabled by default and ensures that all software offered within it can be freely distributed without any restrictions.
Additionally, all the software in this repository is fully supported by Ubuntu developers & provides security updates whenever they need. An example of this repository is the multimedia player, Rhythmbox, which comes pre-installed in Ubuntu.
Similar to the ‘Main’ repository, the ‘Universe’ repository also offers free and open-source software (FOSS). However, there is a distinction in terms of support. While ‘Main’ is officially supported by Ubuntu developers, the ‘Universe’ repository relies on community support for regular updates. Some software it contains are VLC media player, OpenShot video editor, etc.
Due to licensing and legal issues, Ubuntu cannot activate this repository by default, and it is also unable to provide patches and updates software within it. Cause, the ‘Multiverse’ repository does not contain software that is free & open-source.
The Restricted repositories are dedicated to hardware-related software, which often involves proprietary components. These include drivers for graphic cards, touch panels, network cards, and similar items.
The ‘Partner’ repository, on the other hand, consists of proprietary software that Ubuntu has compiled from its partners.
VI. Third-party Ubuntu Repositories
Third-party repositories are external software repositories that are not officially maintained by Ubuntu or its parent company, Canonical. They are created and maintained by independent developers, organizations, or communities.
Displaying the List of Ubuntu Repositories
To display the list of Ubuntu Repositories configured on your system, you can check the contents of the ‘/etc/apt/sources.list’ file and the files within the ‘/etc/apt/sources.list.d’ directory. As these files contain the URLs of the repos that APT uses to fetch software packages. You can use the following command syntaxes to view the list:
- View Main Repository List:
- View Additional Repositories:
- View Repository Contents:
cat /etc/apt/sources.list.d/ <repository-file-name>.list
You can also use the ‘apt-add-repository’ command with its option ‘–list’ to view all the repos lists. For that, use the command syntax:
sudo apt-add-repository --list
Managing Ubuntu Repositories
You can manage your Ubuntu repositories by adding, removing, and updating software sources that your system uses to install and update packages. As Ubuntu uses APT for package management, you can manage your system repos by configuring APT Repositories. Here’s how you can manage Ubuntu repositories:
1. Adding Repositories
Adding a new Ubuntu is a way to install software packages that are not available in the default repositories. To add a new repository, you can either directly edit the ‘sources.list’ file or use the ‘add-apt-repository’ command. For that use the command syntax below:
sudo apt-add-repository <repository-URL>
2. Removing Repositories
Sometimes when you want to remove repositories that you no longer need, you can utilize the apt-add-repository command with the –remove option for a smooth deletion of those repositories. To do so use the below command syntax:
sudo apt-add-repository --remove <repository-URL>
3. Disabling Repositories
To disable one of the repositories, just comment out or remove the corresponding repository lines from the appropriate configuration files. For that, open the ‘/etc/apt/sources.list’ file in any of the text editors & find the line corresponding to the repository you want to disable, and either comment it out by adding a ‘#’ at the beginning of the line or delete the line completely.
4. Updating Repositories
After making a modification to your repo list, you always need to update the package list to reflect the changes. This can be done by the following command:
sudo apt update
Roles of Ubuntu Repository
- Repositories play several important roles in the Linux system, facilitating the distribution and management of software packages for Ubuntu and its different flavors. Some of the important ones are,
- Software Distribution → Repositories act as centralized locations for a wide range of software packages. Software developers and maintainers can upload their packages to the repositories, making them accessible to a large user base.
- Package Management → Repos enable efficient package management using tools like APT. Users can easily search for, install, update, and remove software packages using APT-based commands.
- Dependency Management → Software packages often depend on other libraries and components to function properly. Repos provide a controlled environment where packages and their dependencies are organized, ensuring that the correct versions of libraries and components are available.
- Version management → Repos store multiple versions of software packages. This enables users to install specific versions if needed.
- Distribution Upgrades → When a new version of Ubuntu is released, repos play a crucial role for users as they can transition to the new release by updating their package list & upgrading installed packages easily.
- Security and stability → Repos are maintained and carefully selected by Canonical and the Ubuntu community. This ensures that packages undergo review, testing, and security audits before being added to the official repositories.
In conclusion, the Ubuntu repository list is like a carefully sorted library of software. This helps keep software organized, secure, and easy to update. Making using Ubuntu easier & better for users.