Software Management with DNF
Without packages, a fresh Linux installation is about as useful as a car with no tires! You need to be able to add software to the system to make it useful. This can be done in several ways. Back in the old days (hey, I am a true gray-bearded Unix/Linux guy), you used to download the source files and then build and install them manually. On occasion, you could get prebuilt packages but, often, the dependencies that were required would take hours to run down manually. Then, in 1997, along came Red Hat Package Manager (RPM) files. These really simplified the process, as all you needed to do was track down all the RPM files needed to install an application, and off you went.
Then, the applications started getting more complex; an example is the Apache HTTP server – all of its optional features went from 2-3 RPMs to a dozen, plus all the required dependencies. Tracking down all the RPMs and their dependencies became a chore… and due to mismatched...