Software Repositories
Once you have resolved the problem of connecting to the Internet and launching a terminal, you might want to install all the software you need.
Software in Fedora comes from repositories, referred to as Software Repositories. Below, I detail the repositories I enable on all my Fedora installations, apart from the official ones that come preinstalled and enabled by default.
Open a terminal and enable some of these repositories.
RPM Fusion
RPM Fusion is a repository of add-on packages for Fedora and EL+EPEL, maintained by a group of volunteers. It is not a standalone repository but an extension of Fedora. RPM Fusion distributes packages that are not acceptable for inclusion in Fedora.
Learn more about RPM Fusion on its official website: https://rpmfusion.org/FAQ
su -c 'dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'
Fedora Workstation Repositories
From the Fedora Wiki page for Fedora Workstation Repositories:
The Fedora community strongly promotes free and open source resources. Therefore, the Fedora Workstation, in its default configuration, only includes free and open source software. To make Fedora Workstation more usable, we’ve made it easy to install a curated set of third-party (external) sources that supply software not included in Fedora through an additional package.
Read more at: https://fedoraproject.org/wiki/Workstation/Third_Party_Software_Repositories
Note: This will only install the .repo files; it will not enable the provided repositories:
su -c 'dnf install fedora-workstation-repositories'
Fedora Rawhide's Repositories
Rawhide is the name of the current development version of Fedora. It consists of a package repository called "rawhide," containing the latest builds of all Fedora packages, updated daily. Each day, an attempt is made to create a full set of "deliverables" (installation images and so on), and all successfully composed packages are included in the Rawhide tree for that day.
You can install its repository files and temporarily enable it for a single transaction—for example, to install or upgrade a single package and its dependencies. This is particularly useful when a bug fix exists in Rawhide but has not yet reached the stable branches of Fedora.
Note: This will only install the .repo file under /etc/yum.repos.d/; it will not enable the repository. Later, we will see how to handle enabling and disabling repositories for single transactions.
Learn more about Rawhide on its Wiki page: https://fedoraproject.org/wiki/Releases/Rawhide
su -c 'dnf install fedora-repos-rawhide'
COPR
COPR is an easy-to-use automatic build system that provides a package repository as its output.
Here are some of the repositories I rely on:
neteler/remarkable
Remarkable is a free, fully featured markdown editor.
su -c 'dnf -y copr enable neteler/remarkable'
philfry/gajim
Gajim is a Jabber client written in PyGTK. It currently provides support for the OMEMO encryption method, which I use. This repository provides tools and dependencies not available in the official Fedora repository.
su -c 'dnf -y copr enable philfry/gajim'
dani/qgis
QGIS is a user-friendly open source Geographic Information System.
su -c 'dnf -y copr enable dani/qgis'
donet-sig/dotnet
This repository provides the .NET CLI tools and runtime for Fedora.
su -c 'dnf copr enable @dotnet-sig/dotnet'
VSCodium
A few weeks ago, I decided to try VSCodium, a fork of VSCode. Here is how to enable its repository for Fedora.
First, import its GPG key so you can verify the packages retrieved from the repository:
su -c 'rpm --import https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg'
Now create the vscodium.repo file:
su -c "tee -a /etc/yum.repos.d/vscodium.repo << 'EOF'
[gitlab.com_paulcarroty_vscodium_repo]
name=gitlab.com_paulcarroty_vscodium_repo
baseurl=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/repos/rpms/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg
EOF
"
Verification
Now check that all the repositories have been successfully installed and some of them enabled by refreshing the dnf metadata:
su -c 'dnf check-update'
That’s all. In the next post, we will see how to enable some of these repositories, temporarily disable and enable others for single transactions, install or upgrade specific packages from a particular repository, and perform many repository administration tasks.