Dnf offline-upgrade upgrade -> trigger doesn't exist


I’m trying to install downloaded packages without rebooting, but I get this output, what is it about?

sudo dnf offline-upgrade upgrade
trigger file does not exist. exiting quietly.

There are two packages ready for installation ATM

1 Like

I don’t understand what you’re trying to do. dnf offline-upgrade is explicitly for upgrading ‘offline’, meaning in a minimal environment between boots.

dnf offline-upgrade upgrade is an undocumented subcommand that is an implementation detail of that process.

If you want to perform a standard ‘online’ upgrade, just use dnf upgrade. (This has nothing to do with network connectivity.)

1 Like

I’m trying to install updates from cached packages.
which this offline-upgrade upgrade apparently was what i needed but it doesn’t work for what ever reason. so how can i do that? because running dnf update just redownloads everything

It doesn’t work because it’s not for that at all; ‘offline’ is being used in a different context. dnf offline-upgrade is just a variant of dnf system-upgrade, but used for normal upgrades rather than upgrading between releases.

If you’ve previously downloaded packages using dnf upgrade --downloadonly, you may be able to use dnf -C upgrade to install those packages without network access.


Good that solves my issue
But it doesn’t help the main question so I’ll leave it for now

What question is that? Do you mean the message in your first post? That’s perfectly normal; you’re not ever meant to run that command directly.

What do you mean directly?
correct me if i’m wrong. since i couldn’t find any documentation for it i suppose it’s there to install packages downloaded via offline-upgrade donwload so after caching you can run offline-upgrade upgrade and install updates without a reboot.

dnf offline-upgrade is an implementation of systemd’s offline updates scheme, which again has nothing to do with network access.

You’re meant to use dnf offline-upgrade download followed by dnf offline-upgrade reboot. The second command ‘triggers’ the update by creating a symlink at /system-update before rebooting. That’s the trigger file mentioned in the message.

When systemd finds that file on the next boot, it starts a special target that pulls in any services implementing the offline update scheme. It’s that service which runs dnf offline-upgrade upgrade (technically it runs the equivalent /usr/bin/dnf-3 system-upgrade upgrade).

As I said before, that command is an undocumented implementation detail. I’m a bit curious how you found it in the first place.

1 Like

you can ask Fish shell

I have no idea where it collects information from

That completion ships with fish.

As it turns out, upgrade is not completely undocumented. It’s briefly listed as a valid option in the --help output, presumably a limitation of the option parser. That seems to be how they found it: Completions for dnf offline-upgrade missing · Issue #8772 · fish-shell/fish-shell · GitHub

I can easily see how that fish completion could be misleading. It might be worth filing a bug with fish to have upgrade removed. It’s missing from the man page (man dnf-system-upgrade). I don’t know where they got that description from.

Thanks for reply!

Opened this issue