Adding or removing software repositories in Fedora

Anthony McGlone Version F37 Last review: 2023-01-05
This section describes how to add, enable, or disable a software repository with the DNF application.

Adding repositories

This section describes how to add software repositories with the dnf config-manager command.

  • To add a new repository, do the following as root.

    1. Define a new repository by adding a new file with the .repo suffix to the /etc/yum.repos.d/ directory. For details about various options to use in the .repo file, see the Setting [repository] Options section in the System Administrator’s Guide

    2. Add the newly created repository.

      dnf config-manager --add-repo repository

      Where repository is the path to the created .repo file, for example:

      dnf config-manager addrepo --from-repofile=/tmp/fedora_extras.repo

Enabling repositories

This section shows how to enable a particular software repository by using the dnf config-manager command.

  • To enable a particular repository, run the following command as root.

    dnf config-manager setopt repository.enabled=1

    Where repository is the unique repository ID, for example:

    dnf config-manager setopt fedora-extras.enabled=1

Disabling repositories

This section shows how to disable a particular software repository by using the dnf config-manager command.

  • To disable a particular repository, run the following command as root.

    dnf config-manager setopt repository.enabled=0

    Where repository is the unique repository ID, for example:

    dnf config-manager setopt fedora-extras.enabled=0

Removing repositories

This section shows how to remove a Yum repository (or .repo file).

If you know the ID of a repository, but you’re not sure what .repo it belongs to, you can run the following command grep -E "^\[.*]" /etc/yum.repos.d/*. This will print a list of the repository IDs that are associated with each Yum repository.

  • To remove a Yum repository, run the following command as root.

    rm /etc/yum.repos.d/file_name.repo

    Where file_name is the name of the .repo file.