
Every piece of software you install on Ubuntu using the apt command comes from a source called a repository.
Think of a repository as a massive, organized warehouse of software packages.
This guide will show you exactly how to find your current repositories, add new ones to get access to more software, and remove them safely.
Table of Contents
What Are APT Repositories?
At the heart of Ubuntu’s powerful software management system is the Advanced Package Tool (APT).
APT relies on repositories, which are essentially vast, organized digital warehouses stored on servers. These warehouses contain all the software packages, applications, and libraries that you can install on your system.
When you run a command like sudo apt install vlc, APT doesn’t search the whole internet. Instead, it securely connects to the repositories you have configured, finds the VLC package, checks for any dependencies (other packages it needs to run), and installs them all for you.
There are two main types of repositories you will encounter:
Official Ubuntu Repositories
These are maintained by Canonical (the company behind Ubuntu) and are the safest and most stable sources for your software. They are divided into four main components based on licensing and support level:
- Main: Officially supported, completely free and open-source software.
- Universe: Community-maintained free and open-source software.
- Restricted: Proprietary drivers for hardware (like graphics cards or Wi-Fi chips).
- Multiverse: Software that is not free and is restricted by copyright or legal issues.
Third-Party Repositories & PPAs
A Personal Package Archive (PPA) is a special type of repository hosted on Launchpad that allows developers to distribute newer software versions or applications not yet available in the official Ubuntu repos. Many other companies, like Google and Microsoft, also host their own third-party repositories for their software.
See also: Mastering the Linux Command Line — Your Complete Free Training Guide
Security Note: While extremely useful, you should only add third-party repositories from developers and organizations you trust completely.
How to Find Your Configured Repositories in Ubuntu
Before adding or removing anything, first identify what’s already on your system.
1. Check Official Ubuntu Repositories
This file contains the core software sources for your Ubuntu installation.
cat /etc/apt/sources.list
Understanding the Output of sources.list
The output might seem cryptic at first, but it follows a strict format. A typical line looks like this:
deb <http://us.archive.ubuntu.com/ubuntu/> jammy-updates main restricted
Let’s break down each part:
deb: This is the archive type.debindicates that the repository contains pre-compiled binary packages (the software ready to be installed). You might also seedeb-src, which points to the program’s source code, useful for developers.http://us.archive.ubuntu.com/ubuntu/: This is the URI (Uniform Resource Identifier), which is the base URL where the repository is located online.jammy-updates: This is the distribution component. It has two parts:jammy: The codename for your version of Ubuntu (e.g.,jammyfor 22.04,focalfor 20.04). This ensures APT only downloads packages compatible with your specific OS version.updates: A suffix indicating the pocket. Common pockets includejammy-security(for critical security patches),jammy-updates(for recommended updates), andjammy-backports(for newer software versions).
Any line that starts with a hash symbol (#) is a comment and is ignored by APT.
2. Check Third-Party Repositories and PPAs
All additional software sources are stored as individual files in this directory. This is the most important place to look for non-Ubuntu repositories.
# List all repository files
ls /etc/apt/sources.list.d/
# Example output:
# google-chrome.list
# microsoft-edge-stable.list
# signal-xenial.list```
To see the contents of a specific repository file, use cat. The format inside these files is the same as sources.list.
bash
# View the contents of the Google Chrome repository file
cat /etc/apt/sources.list.d/google-chrome.list
# Example output:
# deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome-keyring.gpg] <http://dl.google.com/linux/chrome/deb/> stable main
How to Add Repositories and PPAs in Ubuntu
1. Adding a PPA (Personal Package Archive)
The add-apt-repository command is the standard tool for this. It automatically imports the PPA and its GPG security key.
Example: Add the popular PPA for the latest graphics drivers
sudo add-apt-repository ppa:graphics-drivers/ppa
2. Adding a Third-Party Repository (Manual Method)
This is a two-step process: first add the developer’s GPG key for security, then add the repository URL.
Example 1: Add the Official Google Chrome Repository
# Step 1: Download and add Google's GPG security key
curl -fSsl <https://dl.google.com/linux/linux_signing_key.pub> | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome-keyring.gpg
# Step 2: Add the Google Chrome repository URL to your sources
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome-keyring.gpg] <http://dl.google.com/linux/chrome/deb/> stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
Example 2: Add the Official Visual Studio Code (VS Code) Repository
# Step 1: Download and add Microsoft's GPG security key
curl <https://packages.microsoft.com/keys/microsoft.asc> | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /usr/share/keyrings/microsoft-archive-keyring.gpg
# Step 2: Add the VS Code repository URL to your sources
echo "deb [arch=amd64,arm64,armhf signed-by=/usr/share/keyrings/microsoft-archive-keyring.gpg] <https://packages.microsoft.com/repos/vscode> stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
The Most Important Step: Update Your Package List
This is not optional. After adding or removing any repository, you must update APT’s package index. This command downloads the list of available packages from all your newly configured sources.
sudo apt update
How to Remove Repositories and PPAs
1. Removing a PPA
Use the --remove flag with the add-apt-repository command for a clean removal.
Example: Remove the graphics drivers PPA
sudo add-apt-repository --remove ppa:graphics-drivers/ppa
2. Removing a Manually Added Repository
This is a manual two-step cleanup process.
Example: Remove the Google Chrome repository
# Step 1: Delete the repository source file
sudo rm /etc/apt/sources.list.d/google-chrome.list
# Step 2 (Optional but recommended): Delete the associated GPG key
sudo rm /usr/share/keyrings/google-chrome-keyring.gpg
Remember to run sudo apt update after any removal to refresh your package list.
Frequently Asked Questions (FAQ)
Q: Where are APT repositories stored in Ubuntu?
A: They are defined in two main locations: the file /etc/apt/sources.list for the official Ubuntu repos, and individual .list files within the /etc/apt/sources.list.d/ directory for all third-party repos and PPAs.
Q: Is it safe to add third-party repositories or PPAs?
A: You should only add repositories from sources you trust completely. While official Ubuntu repositories are secure, PPAs are maintained by individuals or teams outside of Canonical. Adding a malicious repository could compromise your system. Always use PPAs from well-known and reputable developers.
Q: How do I fix a “repository does not have a Release file” error?
A: This common error usually means a PPA is old, no longer maintained, or doesn’t support your version of Ubuntu. The best solution is to find and remove the problematic repository using the “Software & Updates” tool or the add-apt-repository –remove command. Then run sudo apt update again. For more information, you can check the official Ubuntu Community Help page for Repositories.



