Work

50k+ packages for RHEL 8 / CentOS 8, even before EPEL is up

by , , revisited on


We have by far the largest RPM repository with dynamic stable NGINX modules and VMODs for Varnish 4.1 and 6.0 LTS. If you want to install nginx, Varnish and lots of useful modules for them, this is your one stop repository to get all performance related software.
You have to maintain an active subscription in order to be able to use the repository!

The RedHat Enterprise Linux (RHEL) 8 has already been released, but CentOS 8 is not there yet. If you happen to install RHEL 8 as your dev machine (and why not? they give free license) – you know it is super lacking on packages.

The EPEL 8 repository where most of the extra packages for RHEL 8 will reside, has not been built yet.

But what if I told you that you can get stuff up and running and access 50K+ of compatible packages now? Yes, you can easily install a lot of packages, all from compatible Fedora 28 release. But how?

To do this, you would have to add dnf configuration and the GPG keys of Fedora 28 repositories.

Using those, you can install things like Filezilla, VLC, Transmission and everything you need to work with now in RHEL 8, without compiling a bit.

Disclaimer before you proceed

This is not the proper way to install things in RHEL 8. But due to lack of EPEL repository for RHEL 8 now, this is actually the only better way in comparison to compiling everything you need or rebuilding every single dependency’s RPM. This approach is temporary if you absolutely need to get the stuff done in the new OS. And it works pretty well.

So let’s get started, shall we?

sudo dnf -y install https://extras.getpagespeed.com/release-el8-latest.rpm
sudo dnf install fed2el-release

The magic package that we’ve just installed is fed2el-release. This is the package we’ve built for easily bringing Fedora packages to RHEL 8. Its name should alert you that you’re doing something wrong by bringing pieces of Fedora to your system. But either way, doing things wrong is sometimes needed.

The package holds 3 dnf .repo configurations and GPG keys for compatible F28 repositories: upstream Fedora 28, Russian Fedora as well as RPMFusion.

By default, none of those repositories are enabled. This is a failsafe in order to avoid system breakage.
To mitigate the risk of system breakage, the extra repositories are also set with the lowest dnf priorities compared to RHEL ones.
So your system will still prefer stock packages, whenever they are available.

So how do you get to install any of the 50K+ packages? To install Filezilla, for example, you can run:

dnf --enablerepo fedora,fedora-updates,fedora-russian-free,fedora-russian-free-updates,fedora-russian-nonfree,fedora-russian-nonfree-updates,fedora-rpmfusion-free,fedora-rpmfusion-free-updates,fedora-rpmfusion-nonfree,fedora-rpmfusion-nonfree-updates install filezilla

Was it lengthy, wasn’t it?

There is a nifty script installed to /usr/bin/dnfplus, so you can just type dnfplus install ... instead. It is available after you install the package.

Now installing Filezilla becomes as easy as:

dnfplus install filezilla

And that’s pretty much it to get Filezilla up and running in RHEL 8 now.

I don’t want anyone ranting about doing things the wrong way. Yes, we do use packages of different OS, but they are very close and in my experience, things worked quite well as I got working Filezilla, Transmission, and even mock and KeepasX – all easily using this approach.

Even Dropbox official client’s .rpm downloaded from their website, would fail to install due to missing dependencies if I did not use this approach. That’s how much RHEL 8 is lacking now before EPEL is ready. But using this dnfplus way, you don’t really have to wait if there’s an urgency to put your RHEL 8 to work.

Seriously, you can tell the difference in the number of packages available now.

dnf list available | wc -l
6285

dnfplus list available | wc -l
58814

For the future-proofing, here’s a nifty command to remove all Fedora packages from your system:

sudo yum remove $(dnf list installed | grep "@fedora" | awk '{ print $1 }')

This will remove any of those non-stock packages to bring your system to a clean, “Fedora-less” state.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.