Documentation:

ubos-admin updateΒΆ

See also Command reference.

Invoking this command will:

  1. Suspend all currently deployed sites and all apps and accessories on them, and replace them with a placeholder “Upgrade in progress” page.
  2. Create a temporary backup of all data of all currently deployed apps and accessories on all sites on the device.
  3. Undeploy all site, and all the apps and accessories on the device.
  4. Upgrade the code on the device. There are two modes:
    • If one or more --pkgfile <pkgfile> arguments were given, only the specified package files will be installed. This uses pacman -U <pkgfile>.
    • If no --pkgfile argument was given, UBOS will download and install all available upgraded packages on the the device. This includes operating-system packages, middleware packages and application packages. This step is equivalent to (and in fact uses) pacman -Syu.
  5. Apply a heuristic whether or not the device should be rebooted. For example, if the Linux kernel has been upgraded, a reboot is typically necessary. This heuristic can be overridden with command-line flags to ubos-admin update. If the device is to be rebooted, it will be rebooted in this step. The remaining steps will be executed automatically after the reboot.
  6. Restore all sites with all apps and accessories from the previously made backup, but with the most recent code version.
  7. Run any necessary data migrations.
  8. Replaces the placeholder pages with the applications again.

The individual steps are largely the same as documented in ubos-admin backup, ubos-admin deploy, ubos-admin restore, and ubos-admin undeploy.

Note that UBOS never upgrades “in-place” but performs a new installation of the application again, with subsequent restore-from-backup. This makes it less likely that “leftover” files get in the way of smooth operation of the new version of the app.