Dnf history actions

in dnf history actions column there are the following letters E I U & a ? symbol.

i know what E I U mean but i could not find any help on what the ? symbol means.

fedora 35 with gnome 41.2

I had to dig through the DNF code and looks like ? means “a package was kept on the system but it’s reason has changed”. (At least I hope, I followed the right code path, my C++ is pretty rusty. But from my dnf history everywhere I see ? in the output, I also have a package with Reason Change in the detailed dnf history info <id> listing.)

There’s also the following example in the code

Reason Change
* Command example: dnf mark install bash
* Old package(s): bash-4.4.12-5
* New package(s): bash-4.4.12-5
* -> new TransactionItem: item="bash-4.4.12-5", action=REASON_CHANGE, reason=<new>,
* new = a brand new reason why a package was installed or removed
* inherited = a package was installed in the past, re-use it's reason in existing transaction

So here bash was previously installed possibly as a dependency and now user used dnf mark to mark it as manually installed to make sure it wouldn’t be removed in the future by autoremove. So if I understand this correctly, in this case the only change is the reason why bash is present on the system so you get ?.


just did a fresh install of fedora gnome.

now in the actions column i got install against every command & i understand that.

but in the altered column i got numbers & next to some of them i got EE.

according to docs.fedoraproject.org E means Erase.

on a brand new install what was there to be Erased, beats me.

& why the double E?

The meaning of the letters in the Altered column is not the same as the Action(s) column.
The number is simply number of altered packages and the meaning of the letters is following:

Symbol Description
< Before the transaction finished, the rpmdb database was changed outside Yum.
> After the transaction finished, the rpmdb database was changed outside Yum.
* The transaction failed to finish.
# The transaction finished successfully, but yum returned a non-zero exit code.
E The transaction finished successfully, but an error or a warning was displayed.
P The transaction finished successfully, but problems already existed in the rpmdb database.
s The transaction finished successfully, but the --skip-broken command-line option was used and certain packages were skipped.

So E in the Altered column means there was an error or warning in the transaction. It was probably something minor, like a package post installation script showing some message.


k so bottom line it’s all good & there ain’t nothing i need to worry about right?

Yes. If you check the detail for the transaction using dnf history info <id> you should be able to see the message.

This is example of one of my past dnf commands which shows with an E

Packages Altered:
    Install device-mapper-multipath-0.8.5-4.fc34.x86_64 @fedora
Scriptlet output:
   1 Created symlink /etc/systemd/system/sysinit.target.wants/multipathd.service → /usr/lib/systemd/system/multipathd.service.
   2 Created symlink /etc/systemd/system/sockets.target.wants/multipathd.socket → /usr/lib/systemd/system/multipathd.socket.

It’s just an information about some symlinks for systemd services being created.


thank you very much, truly appreciate your inputs.