Upgrading CargOS - RedCoolBeans/CargOS GitHub Wiki

Upgrading CargOS

Since CargOS is mainly intended as an in-memory operating system, upgrading to a new version of CargOS is just as easy as downloading the desired version and rebooting with it, however for some reason, someone might choose to install CargOS to the local disk, in which case the cargos-upgrade(1) utility can be used on the running system to automatically download the latest version of CargOS and to install it to the disk(s). The cargos-upgrade(1) utility will fail to run if CargOS was installed without support of booting from the disk. The cargos-upgrade(1) utility will always save the currently running CargOS release so that a simple rollback can be done in case there are issues with the latest release. After booting a new CargOS image, we advise that you run cargos-upgrade -c to see if there are any necessary steps to upgrade your local configuration. This command will tell you what to do.

Due to the fact that CargOS heavily relies on pkgsrc, to install 3rd party tools on the persistent storage, one also has to upgrade these packages. Upgrading these packages are just as easy as running the following commands:

pkgin up

pkgin fug

The two commands above will ensure that all installed packages besides the base operating system will be upgraded on the persistent storage.

cargos-upgrade(1)

The cargos-upgrade utility's usage is as follows: Usage: cargos-upgrade [-cfnu]

Options:
  -c    check if the base system needs upgrading with -u
  -f    force installation to the disk(s)
  -n    dry-run mode, only report what would be done
  -u    run upgrade steps required for the current release

The dry-run mode will ensure that no changes to the disks will be written and it is good practice to test the upgrade before actually doing it. The force option can be used when the initial CargOS installation was configured without booting from the disk support. Using the force option will install a boot loader to the local disk(s) just like the installer would have.

An example run of cargos-upgrade(1)

first question progress