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.

For Fedora 40 or earlier (DNF 4)

To add a new repository, as root, use one of the following methods.

  • Define a new repository by creating a new file with the .repo suffix in a temporary location, such as the /tmp directory.

  • Add the repository with --add-repo, where repository is the file path:

    dnf config-manager --add-repo repository

    For example:

    dnf config-manager --add-repo /tmp/fedora_extras.repo

For Fedora 41 or later (DNF 5)

To add a new repository, as root, use one of the following methods.

  • Define a new repository by creating a new file with the .repo suffix in a temporary location, such as the /tmp directory.

  • Add the repository with addrepo, where repository is the file path:

    dnf config-manager addrepo --from-repofile=repository

    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.