What Is DNF

Provides a quick introduction on DNF (also called Dandified YUM), which is the next generation of YUM (Yellowdog Update Modified) software package manager for RPM (RedHat Package Manager) based Linux distributions.

What Is DNF? - DNF, also called Dandified YUM, is the next generation of YUM (Yellowdog Update Modified) software package manager for RPM (RedHat Package Manager) based Linux distributions.

Here is the description of DNF from its manual page: "DNF is the next upcoming major version of YUM, a package manager for RPM-based Linux distributions. It roughly maintains CLI compatibility with YUM and defines a strict API for extensions and plugins."

You can get a list of DNF commands by running "dnf help" on CentOS 8:

herong$ dnf help

usage: dnf [options] COMMAND

List of Main Commands:
alias               List or create command aliases
autoremove          remove all unneeded packages that were originally
                    installed as dependencies
check               check for problems in the packagedb
check-update        check for available package upgrades
clean               remove cached data
deplist             List package's dependencies and what packages provide
                    them
distro-sync         synchronize installed packages to the latest available
                    versions
downgrade           Downgrade a package
group               display, or use, the groups information
help                display a helpful usage message
history             display, or use, the transaction history
info                display details about a package or group of packages
install             install a package or packages on your system
list                list a package or groups of packages
makecache           generate the metadata cache
mark                mark or unmark installed packages as installed by user.
module              Interact with Modules.
provides            find what package provides the given value
reinstall           reinstall a package
remove              remove a package or packages from your system
repolist            display the configured software repositories
repoquery           search for packages matching keyword
repository-packages run commands on top of all packages in given repository
search              search package details for the given string
shell               run an interactive DNF shell
swap                run an interactive dnf mod for remove and install one
                    spec
updateinfo          display advisories about packages
upgrade             upgrade a package or packages on your system
upgrade-minimal     upgrade, but only 'newest' package match which fixes
                    a problem that affects your system

Some commonly used DNF commands are:

herong$ dnf search java
  java-11-openjdk.x86_64 : OpenJDK Runtime Environment 11
  java-11-openjdk-src.x86_64 : OpenJDK Source Bundle 11
  java-11-openjdk-demo.x86_64 : OpenJDK Demos 11
  ...

herong$ dnf info perl
  Available Packages
  Name         : perl
  Epoch        : 4
  Version      : 5.26.3
  Release      : 416.el8
  Architecture : x86_64
  Size         : 72 k
  Source       : perl-5.26.3-416.el8.src.rpm
  Repository   : AppStream
  Summary      : Practical Extraction and Report Language
  URL          : http://www.perl.org/
  License      : GPL+ or Artistic
  Description  : Perl is a high-level programming language with roots
               : in C, sed, awk and shell scripting.
               ...

herong$ sudo dnf install perl
...
Installed:
  perl-4:5.26.3-416.el8.x86_64
  perl-Encode-Locale-1.05-9.el8.noarch
  perl-TermReadKey-2.37-7.el8.x86_64
  ...
Complete!

Table of Contents

 About This Book

 Introduction to Linux Systems

 Cockpit - Web Portal for Administrator

 Process Management

 Files and Directories

 Users and Groups

 File Systems

 Block Devices and Partitions

 LVM (Logical Volume Manager)

 Installing CentOS

 SELinux - Security-Enhanced Linux

 Network Connection on CentOS

Software Package Manager on CentOS - DNF and YUM

What Is DNF

 Manage DNF Package Repositories

 What Is YUM

 What Is RPM

 What Is pkgs.org

 Install and Manage Java Packages on CentOS

 Install and Manage Perl Packages on CentOS

 Install "git-core" for GitHub Packages on CentOS

 Running Apache Web Server (httpd) on Linux Systems

 Running PHP Scripts on Linux Systems

 Running MySQL Database Server on Linux Systems

 Running Python Scripts on Linux Systems

 vsftpd - Very Secure FTP Daemon

 Postfix - Mail Transport Agent (MTA)

 Dovecot - IMAP and POP3 Server

 Email Client Tools - Mail User Agents (MUA)

 LDAP (Lightweight Directory Access Protocol)

 GCC - C/C++ Compiler

 Graphics Environments on Linux

 Conda - Environment and Package Manager

 Tools and Utilities

 Administrative Tasks

 References

 Full Version in PDF/EPUB