== Running Fedora 22's _dnf_ as a normal user versus as root If you're me, you've probably done this at some point: .pn prewrap on > # dnf clean metadata > [...] > # dnf check-update > [... lists some available updates ...] Then in another window, running as myself: > ; dnf updateinfo info > [... doesn't report anything ...] Wait, what? What's going on here is that ~~_dnf_ maintains separate package databases for root and for individual users~~. When you run _dnf_ as root, it consults (and updates) the 'official' DNF package databases and metadata under _/var/cache/dnf_. When you run _dnf_ as any non-root user, it uses a _/var/tmp/dnf--_ directory instead; although everything in _/var/cache/dnf_ is world-readable, dnf makes no attempt to look at it. As a result it's completely possible for root's _dnf_ commands and your _dnf_ commands to give completely different results. You can reduce the odds of this by remembering to do '_dnf clean metadata_' or the like as yourself too, but this doesn't absolutely guarantee that root's data and your data are in sync. When your _dnf_ command re-pulls the package information, it may fetch it from a different mirror that is more (or less) up to date than the mirror root's _dnf_ used. (And of course this wastes bandwidth on re-fetching data you already have.) I hate the idea of running '_dnf updateinfo info_' as root instead of myself, but I'm probably going to have to get used to it. There are just too many annoyances otherwise. PS: Yes, I know about '_dnf clean expire-cache_'; I used to do it all the time with yum. Unlike with yum, with DNF it doesn't work really well to get me the latest update state. Have I mentioned that [[I'm not fond of DNF Fedora22AndDNFImpressions]]? === Sidebar: How _dnf_ should behave When run as a normal user, DNF should try to use _/var/cache/dnf_ data files if they're suitable, ie if they're sufficiently up to date and DNF is being used in a mode where it only needs read access to them. Only if DNF has been asked to do something that would normally write to _/var/cache/dnf_ would it switch to the _/var/tmp/dnf--..._ scheme. In other words, if you just used information commands as a normal user you'd get to take advantage of the system DNF database.