Red Hat®
binary compatible
Enterprise Linux

Springdale Linux is a project of members of the computing staff of ​Princeton University and the ​Institute for Advanced Study. It was started long before ​CentOS.

Initial steps for network installation


This will automatically configure Installation Source using HTTP.


This will automatically connect network on startup.

Optional steps post installation


Enable EPEL (Extra Packages for Enterprise Linux) repo. Add -y to skip confirmation; add --nogpgcheck if needed.

$ dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm


Enable ELRepo repo (channels: elrepo, elrepo-extras, elrepo-testing, elrepo-kernel)

$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

$ dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm


Enable RPM Fusion free and nonfree repos.

$ dnf install https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm

$ dnf install https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

Enable RPM Fusion tainted repos.

$ dnf install rpmfusion-free-release-tainted

$ dnf install rpmfusion-nonfree-release-tainted

https://rpmfusion.org/Configuration
https://rpmfusion.org/Howto/Multimedia

Optimize dnf configuration


/etc/dnf/dnf.conf

defaultyes=True

fastestmirror=True

max_parallel_downloads=6

deltarpm=False



$ systemctl disable dnf-makecache.timer

Disables dnf-makecache systemd timer. After that dnf search will not auto refresh cache anymore for non-root users but dnf repoquery still will. Cache can be explicitly refreshed with dnf makecache.

Package management basics


List all enabled and disabled repositories.

$ dnf repolist --all

Enable or disable a repository.

$ dnf config-manager --enable epel

$ dnf config-manager --disable google-chrome-unstable

Search and enable a user-published Copr repository, then install a package from it.

$ dnf copr search xcb-util-errors

$ dnf copr enable dziadu/xcb-util-errors

$ dnf install xcb-util-errors

List installed and not yet installed (available) packages in a repo.

$ dnf list --installed --repo rpmfusion-nonfree-tainted

$ dnf ls --available --repo rpmfusion-free-tainted

List package groups and then install a group.

$ dnf group list

$ dnf group install "Xfce Desktop"

$ dnf in @MATE

List packages by various criteria.

$ dnf list extras

$ dnf ls "*wayland*"

$ dnf repoquery "*wayland*"

$ dnf rq --installed

$ dnf rq --userinstalled

$ dnf rq --recent

$ dnf rq --duplicates

$ dnf rq --unneeded

$ dnf rq --unsatisfied

Search for a string in package name and summary.

$ dnf search wayland

Faster search from system cache without first refreshing metadata. (long and short form)

$ dnf --cacheonly search wayland

$ dnf -C se xdg-desktop-portal

List all files in a package. (remote repo DB vs local rpm DB)

$ dnf repoquery --list binutils

$ dnf rq -l gtk2

$ rpm -ql coreutils

List packages that own a file.

$ dnf repoquery --file /usr/bin/strings

$ dnf rq -f "*libdisplay-info.so*"

$ rpm -qf /usr/bin/true

Remove (erase) a package without removing its dependencies.

$ rpm -e --nodeps gtk2

Miscellaneous.

$ dnf --refresh upgrade

$ dnf --downloadonly upgrade

$ dnf upgrade --exclude foo bar baz

$ dnf downgrade foo

$ dnf download foo

$ dnf install foo

$ dnf reinstall foo

$ dnf remove foo

$ dnf swap foo bar

$ dnf history undo 3

$ dnf history redo 5

Bootloader and ramdisk


Update grub configuration after editing /etc/default/grub.

$ grub2-mkconfig –o /boot/grub2/grub.cfg

Create a larger generic initramfs before moving to different hardware or VM host.

$ dracut --force --no-hostonly

...for all kernels:

$ dracut --force --no-hostonly --regenerate-all

Regenerate the smaller initramfs tailored to the current system (defaults to --hostonly).

$ dracut --force

Show initrd contents.

$ lsinitrd

Alternative RHEL binary compatible distros

CentOS  |  AlmaLinux  |  Rocky Linux  |  Oracle Linux  |  EuroLinux  |  [more]