Unfortunately, dnf treats it as an error if we try to remove a package
that already did not exist. This means that, e.g., if we try to remove
calamares itself, but calamares was not installed on the base image,
only in the overlay, we will fail with an error. So, as long as we do
not have a better solution, we ignore the exit code of "dnf remove"
entirely.
(yum does not show this behavior, it returns success when the package to
remove is already not installed.)
When removing packages with yum or dnf, pass the --disablerepo=*
(disable all online repositories) and -C (run from cache) arguments.
Package removals do not normally require network access, and this
measure saves time and bandwidth and prevents possible unnecessary
errors (e.g., if we do not have active network access, or if there is
some problem with the mirrors).