CLI updates without disp-mgmt-* qubes in 4.2?

The new update tool is named qubes-vm-update:

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

options:
  -h, --help            show this help message and exit
  --max-concurrency MAX_CONCURRENCY
                        Maximum number of VMs configured simultaneously (default: number of cpus)
  --restart             Restart AppVMs whose template has been updated.
  --no-cleanup          Do not remove updater files from target qube
  --targets TARGETS     Comma separated list of VMs to target
  --all                 Target all non-disposable VMs (TemplateVMs and AppVMs)
  --update-if-stale UPDATE_IF_STALE
                        DEFAULT. Target all TemplateVMs with known updates or for which last update check was more than N days ago. (default: 7)
  --skip SKIP           Comma separated list of VMs to be skipped, works with all other options.
  --templates           Target all TemplatesVMs
  --standalones         Target all StandaloneVMs
  --app                 Target all AppVMs
  --dry-run             Just print what happens.
  --log LOG             Provide logging level. Values: DEBUG, INFO (default) WARNING, ERROR, CRITICAL
  --no-refresh          Do not refresh available packages before upgrading
  --force-upgrade       Try upgrade even if errors are encountered (like a refresh error)
  --leave-obsolete      Do not remove obsolete packages during upgrading
  --show-output         Show output of management commands
  --quiet               Do not print anything to stdout
  --no-progress         Do not show upgrading progress.

It’s similar to qubesctl. You can target specific qubes and set the max concurrency for example.

As for why it was changed, I can’t answer for the developers, but I suspect it was done to remove the salt dependency and all the problems associated with it (deprecated dependencies related to salt and distro patches breaking things, for example).

1 Like