Skip to main content

Adding Source Repositories

The purpose of this guide is to explain how to add and manage APT repositories on a Debian-based Bookworm system. APT repositories provide a way to install and update software packages from external or official sources.


Overview of APT Sources

APT repositories are defined in the following locations:

  1. Main sources file: /etc/apt/sources.list
  2. Custom files: /etc/apt/sources.list.d/ (preferred for third-party repositories)

Each repository line follows this format:

deb [options] <repository-url> <distribution> <components>
  • deb: Indicates a binary package repository.
  • options: Additional options for the repository.
  • repository-url: The URL of the repository.
  • distribution: The release codename (e.g., bookworm).
  • components: The repository components (e.g., main, contrib, non-free).

Adding APT Repositories

There are several ways to add APT repositories to your system. The following steps outline the process:

1. Using apt-add-repository Command

The apt-add-repository command is a utility that simplifies adding repositories to the APT sources list. It is not installed by default on Debian Bookworm but can be installed using the following command:

sudo apt update
sudo apt install software-properties-common

After installing the software-properties-common package, you can use the add-apt-repository command to add repositories. For example, to add a PPA repository:

sudo add-apt-repository ppa:repository

Example of adding a Docker repository:

step 1: Add the GPG key:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

step 2: Add the repository:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev

step 3: Update the package list:

sudo apt update

step 4: Install Docker:

sudo apt install docker-ce docker-ce-cli containerd.io

2. Manually Editing the Sources List

You can manually add repositories by editing the /etc/apt/sources.list file or creating a new file in the /etc/apt/sources.list.d/ directory. Here's an example of adding a repository manually:

sudo nano /etc/apt/sources.list.d/repository.list

Add the repository line in the following format:

deb [options] <repository-url> <distribution> <components>

where:

  • options: Additional options for the repository.
  • repository-url: The URL of the repository.
  • distribution: The release codename (e.g., bookworm).
  • components: The repository components (e.g., main, contrib, non-free).

Save the file and exit the text editor. Then, update the package list:

sudo apt update

Example of adding couchdb repository:

step 1: Add the repository:

echo "deb https://apache.bintray.com/couchdb-deb bookworm main" | sudo tee /etc/apt/sources.list.d/couchdb.list

step 2: Add Source

curl -fsSL https://apache.bintray.com/couchdb-deb/KEYS | sudo gpg --dearmor -o /usr/share/keyrings/couchdb-archive-keyring.gpg

step 3: Add the GPG key

echo "deb [signed-by=/usr/share/keyrings/couchdb-archive-keyring.gpg] https://apache.bintray.com/couchdb-deb bookworm main" | sudo tee /etc/apt/sources.list.d/couchdb.list

step 4: Update the package list

sudo apt update

step 5: Install CouchDB

sudo apt install couchdb

3. Adding PPA Repositories

PPA (Personal Package Archive) repositories are commonly used on Ubuntu systems. To add a PPA repository on Debian Bookworm, you can use the add-apt-repository command with the PPA URL. For example:

sudo add-apt-repository ppa:repository

Example of adding a ffmpeg repository

sudo add-apt-repository ppa:jonathonf/ffmpeg-4
sudo apt update
sudo apt install ffmpeg

4. Adding Backports Repositories

Backports repositories provide newer versions of software packages that are not available in the default Debian repositories. To add the backports repository, create a new file in the /etc/apt/sources.list.d/ directory:

sudo nano /etc/apt/sources.list.d/backports.list

Add the backports repository line:

deb http://deb.debian.org/debian bookworm-backports main

Save the file and exit the text editor. Then, update the package list:

sudo apt update

example of adding backports repository:

echo "deb http://deb.debian.org/debian bookworm-backports main" | sudo tee /etc/apt/sources.list.d/backports.list
sudo apt update
sudo apt install -t bookworm-backports <package-name>