How to get back the old way of updating my qubes (without the "Qubes OS Update" tool)?

I want to be able to update my qubes by launching a separate terminal for each qube, like in 4.1 (or was it 4.0?), not with the “Qubes OS Update” tool.

It doesn’t work correctly for me:

  • I have to wait until currently updating qubes have finished updating before I can start updating other qubes. I don’t want to always select all my qubes for updating at once, as this will likely exhaust my available memory.
  • No more that 4 qubes update at a time despite the setting “Limit how many qubes can update at the same time” not being checked in the settings.

Additionally, I don’t want my qubes to automatically shut down after an update. The previous way of just pressing enter to shut down was perfect.

I just don’t see a point in this tool. Maybe the option to automatically restart qubes based on newly-updated templates is useful to some, but I really prefer the old way to update my qubes.

1 Like

I use the GUI sometimes and I think it’s better than what we had in Qubes 4.0 and 4.1. If you don’t like it, I guess you can fall back to the cli, which probably gives you more control over what you want:

usage: qubes-vm-update [-h] [--max-concurrency MAX_CONCURRENCY] [--dry-run] [--signal-no-updates] [--apply-to-sys | --apply-to-all | --no-apply]
                       [--force-update | --update-if-stale UPDATE_IF_STALE | --update-if-available] [--skip SKIP] [--targets TARGETS] [--templates] [--standalones] [--apps] [--all] [--log LOG] [--no-refresh]
                       [--force-upgrade] [--no-cleanup] [--leave-obsolete] [--show-output | --quiet] [--no-progress]

options:
  -h, --help            show this help message and exit
  --max-concurrency MAX_CONCURRENCY, -x MAX_CONCURRENCY
                        Maximum number of VMs configured simultaneously (default: number of cpus)
  --dry-run             Just print what happens.
  --signal-no-updates   Return exit code 100 instead of 0 if there is no updates available.
  --apply-to-sys, --restart, -r
                        Restart not updated ServiceVMs whose template has been updated.
  --apply-to-all, -R    Restart not updated ServiceVMs and shutdown not updated AppVMs whose template has been updated.
  --no-apply            DEFAULT. Do not restart/shutdown any AppVMs.
  --force-update        Attempt to update all targeted VMs even if no updates are available
  --update-if-stale UPDATE_IF_STALE
                        DEFAULT. Attempt to update targeted VMs with known updates available or for which last update check was more than N days ago. (default: 7)
  --update-if-available
                        Update targeted VMs with known updates available.
  --skip SKIP           Comma separated list of VMs to be skipped, works with all other options.
  --targets TARGETS     Comma separated list of VMs to target. Ignores conditions.
  --templates, -T       Target all updatable TemplateVMs.
  --standalones, -S     Target all updatable StandaloneVMs.
  --apps, -A            Target running updatable AppVMs to update in place.
  --all                 DEFAULT. Target all updatable VMs except AdminVM. Use explicitly with "--targets" to include both.
  --log LOG             Provide logging level. Values: DEBUG, INFO (default), WARNING, ERROR, CRITICAL
  --no-refresh          Do not refresh available packages before upgrading
  --force-upgrade, -f   Try upgrade even if errors are encountered (like a refresh error)
  --no-cleanup          Do not remove cache files after upgrading
  --leave-obsolete      Do not remove updater and cache files from target qube
  --show-output, --verbose, -v
                        Show output of management commands
  --quiet, -q           Do not print anything to stdout
  --no-progress         Do not show upgrading progress.
1 Like

Thanks, but that’s even worse since it requires me to write down all the qubes to update with --targets and it doesn’t even spawn a terminal for each qube. So it’s harder to use and gives me less visibility into what’s happening than before.

At least it has a --force-update option, as the “Updates pending!” notification has never been reliable (in my case one of my fedora-40 qubes has “Updates pending!” no matter how many times I try to update it).

I just want right-clicking a qube from the Qube Manager and selecting “Update” to spawn a terminal in that qube.

It would also be great if the terminal is not xterm because xterm doesn’t let me scroll up when there’s new output being written, and it’s impossible to copy anything from it.

1 Like

you certainly have a package issue (or repo issue) in your template then, which make dnf not working and will still report updates are pending :confused:

1 Like

That turned out to be true (thanks!). But the “Qubes OS Update” tool just told me:

Updating fedora-40-media
Refreshing package info
Installed packages:
None
Updated packages:
None
Removed packages:
None

While either dnf update or dnf upgrade from the terminal show me the issues. Now I’m even more confused as to why the GUI update tool doesn’t show all the output.

1 Like

been there :sweat_smile:

this is clearly a bug :frowning:

1 Like