Let's talk about some DNF and Flatpak use cases.
In the early days, software was packaged as a tarball.
That's how we call a tar archive.
And installing software meant extracting the tarball
and do as directed by the readme file in the tarball.
That wasn't very structured, and everybody
could create installation instructions in their own way.
Red Hat Package Manager was introduced pretty early
to work with packages on Red Hat.
And these packages contained metadata with information
about required dependencies.
And also, a database was added to keep
track of installed packages, which made
updating software a lot easier.
Still, after the introduction of RPM,
resolving dependencies was a manual procedure
and could be quite tough.
When the Yellow Dog Update Manager, or YUM,
was introduced, packages could be installed from repositories,
and dependencies could be handled automatically.
So the repository is an archive of packages.
And if a package has a dependency,
well, YUM could check in the repository
if the dependency was available and automatically install it.
That was a big step forward.
Dandified YUM, or DNF, was mainly
an internal improvement of YUM and still
used the same approach for installing packages.
And still in DNF, packages need to be
created for specific Linux operating
systems and architecture.
You may have noticed that DNF is the default on Red Hat.
Ubuntu is using Apt.
SUSE is using Zipper.
And different distributors have their own package manager
solutions.
No standardization at all.
Flatpak is trying to resolve that problem
by providing applications as Flatpak images that
run isolated, like a container, on most Linux distributors
and architectures.
And the image contains everything
required to run the package.
And a Flatpak application runs in a sandbox,
which isolates it from other system components by default.
So it makes it more secure.
Now, in current configurations, Flatpak
is considered excellent for desktop applications,
but for server processes and daemons
that need tight integration with the server operating system,
you better use DNF.
So where does that bring you?
Well, you need to know about both of them.
Probably most important, you need to know about DNF,
because it's still the most common way
to work with software on the RHEL 10.
But you can't ignore Flatpak either.
So in this lesson, you'll learn about both of them.