Software Repositories
Once we solved the problem of getting connected to the Internet and how to launch a terminal, you might want to install all the software you use.
The software comes from somewhere, on Fedora these are called Software Repositories, next I detail which are the ones I enable on all my Fedora installs apart of the officials that comes preinstalled and enabled by default.
Open a terminal and enable some of these.
RPMFusion
RPM Fusion is a repository of add-on packages for Fedora and EL+EPEL maintained by a group of volunteers. RPM Fusion is not a standalone repository, but an extension of Fedora. RPM Fusion distributes packages that have been deemed unacceptable to Fedora.
More about RPMFusion 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 corresponding to Fedora Workstation Repositories:
The Fedora community strongly promotes free and open source resources. The Fedora Workstation, in its out of the box configuration, therefore, only includes free and open source software. To make the Fedora Workstation more usable, we've made it possible to easily install a curated set of third party (external) sources that supply software not included in Fedora via an additional package.
Read more at: https://fedoraproject.org/wiki/Workstation/Third_Party_Software_Repositories
Please note that this will only install the *.repo files, it will not enable the provided repos:
su -c 'dnf install fedora-workstation-repositories'
Fedora Rawhide's Repositories
Rawhide is the name given to the current development version of Fedora. It consists of a package repository called "rawhide" and contains the latest build of all Fedora packages updated on a daily basis. Each day, an attempt is made to create a full set of 'deliverables' (installation images and so on), and all that compose successfully are included in the Rawhide tree for that day.
It is possible to install its repository files and just temporarily enable it for just a single transaction, let us say, to simple install or upgrade a single package and its dependencies, maybe, to give a try to its new version that is not currently available on any of the stable and maintained versions of Fedora.
This is useful when a bug was fixed on Rawhide but it has not landed yet on the stable branch of Fedora and the urge for it cannot wait.
Again, this will just install the *.repo file under /etc/yum.repos.d/, this will not enable it. Later we will see how to handle, disable and enable this repositories for just one transaction.
More on 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 providing a package repository as its output.
Here are some of the repos I rely on for some packages:
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, currently it provides support for the OMEMO encryption method which I use. This repo provides tools and dependencies not available in the official Fedora repo.
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 provides the .NET CLI tools and runtime for Fedora.
su -c 'dnf copr enable @dotnet-sig/dotnet'
VSCodium
Few weeks ago I decided to give a try to VSCodium, a fork of VSCode, here is how to enable its repo for Fedora.
First import its gpg key, so you can check the packages retrieved from the repo:
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 repos has been successfully installed and some of them enabled by refreshing the dnf metadata.
su -c 'dnf check-update'
Thats all, in the next post will see how to enable some of this repos, how temporarilly disable and enable some other for just a single transaction, how to install or upgrade certain packages from an specific repo and many repo administration tasks.