Dnf5 <> dnf | first impressions | differences | removed

While upgrading my tinker laptop to F38 I started to use dnf5.

It has to be installed first with sudo dnf install dnf5 and then used with dnf5. It looks like that it is still using the
config files in /etc/dnf/dnf.conf


  • While changing/updating packages it shows version and file name direct underneath every processed file.


  • I could not find a way to do dnf upgrade --refresh is this not available anymore?


Im sure i missed a lot … lets talk about here. I save it as a wiki so that we can make on the top a list what is new, different or got removed.

Here is a link to the documentation: DNF5 Package Management Utility — dnf5 documentation

It says: Correct operation of DNF5 depends on having an access to up-to-date data from the all enabled repositories, but contacting remote mirrors on every operation considerably slows it down and costs bandwidth for both the client and the repository provider. The metadata_expire repository configuration option is used by DNF5 to determine whether a particular local copy of repository data is due to be re-synced.


does not seem to exist anymore.


I use —refresh all the time when I am building and testing RPMs in my repos.
And also when I do my weekly updates to my fedora hosts,

It will be a huge work flow problem for me if —refresh is not implemented.

That was one of features over yum that I really love.

With F38 we can still use both. So to refresh I do with the common dnf :wink:

My perception is that dnf5 in general is faster. I hope the mirrors get tuned a bit too. Might be that this way we not need --refresh so much in future.

You can set metadata_expire to 1 min for those repositories that you want fresh metadata very frequently.

Also you can run dnf5 makecache to download metadata, see Makecache Command — dnf5 documentation

1 Like

That is not fast enough. Sorry i need —refresh to work as it does today.
60s means i need to use a sleep before dnf5 to be sure, which is not reasonable.

And makecache is not usable.

The makecache command in DNF5 is used for creating and downloading metadata for enabled repositories.

It tries to avoid downloading whenever possible, e.g. when the local metadata hasn’t expired yet or when the metadata timestamp hasn’t changed.

Be creative, set it to 1s.

you make it expire by setting metadata_expire.

--refresh is still planned.


My feedback is that removing —refresh is not a goid idea and in my use case.
I build in copr and repos I manage that habe the —refresh bult into WA scripts all over the place.

Breaking this is a big problem for me.