TIX-UPGRADE(8)

NAME
tix-upgrade - upgrade to a new release via the network

SYNOPSIS
tix-upgrade [--cachedir=directory] [--cancel] [--check] [--clean] [--collection=collection] [--fetch-options=options] [--force] [--insecure-downgrade-to-http] [--insecure-no-check-certificate] [--is-reboot-needed] [--loop] [--no-upgrade] [--now] [--ports] [--reinstall] [--system] [--upgrade] [--wait]

DESCRIPTION
tix-upgrade does an upgrade(7) of the installation to a new release, if available. tix-upgrade uses tix-fetch(8) to download the new release information and packages, verifies the signatures, prepares a new system image, and invokes sysmerge(8) to perform the upgrade. If the collection is a system installation, then the upgrade is scheduled for the next boot.

The specified collection is upgraded, defaulting to the root directory collection. The RELEASE_URL variable in the collection.conf(5) configuration file points to the URL of a channel or release, as per tix-release(8). The public key in $collection/tix/release.pub is used to verify the release signature. If the URL points to a channel, which has an upgrade available for the current version, then the upgrade is accepted unless --no-upgrade is passed. Otherwise if a new build is available of the same release, then the new build is installed. tix-upgrade exits immediately if no new build or upgrade is available.

The download of a previous partial upgrade is resumed, unless the release checksums have since changed. Upgrades can be automatically installed by enabling the tix-autoupgrade(8) daemon. The set of installed packages is automatically adjusted based on the repository metadata, handling renamed packages, split packages, deleted packages, and packages with new runtime dependencies.

tix-upgrade is one of three supported upgrade methods. The other two are sysupgrade(8) from a new .iso release, and building from source and invoking sysmerge(8) directly.

The options are as follows:

--cachedir=directory
    Store the temporary downloaded files in this directory rather than the default $collection/var/cache/tix.

--cancel
    Cancel a scheduled sysmerge(8) for the next boot.

--check
    Exit 0 if an upgrade is available, and exit 1 otherwise.

--clean
    Clean the cache before performing the upgrade.

--collection=collection
    Upgrade this collection.

--fetch-options=options
    Pass these options to tix-fetch(8). This option is useful to set the download verbosity.

--force
    Upgrade to the same build, even if no new build and no new upgrade is available.

--insecure-downgrade-to-http
    Downgrade the release URL from HTTPS to an insecure HTTP download.

    Warning: HTTP downloads makes it possible for man-in-the-middle attacks to interfere with the download and enables eavesdropping. However, the release is still cryptographically signed as a secondary layer of protection, which still protects the download integrity. This option is useful in the future when the client and server may not have overlapping cryptographic protocols and ciphers.

--insecure-no-check-certificate
    Don't check the HTTPS certificates.

    Warning: HTTPS downloading without trusting the certificate makes it possible for man-in-the-middle attacks to interfere with the download and enables eavesdropping. However, the release is still cryptographically signed as a secondary layer of protection, which still protects the download integrity.

--is-reboot-needed
    Exit 0 if an upgrade is scheduled for the next boot, and exit 1 otherwise.

--loop
    Enable the tix-autoupgrade(8) daemon to repeatedly upgrade to new releases, all the way to the latest release.

--no-upgrade
    Don't accept upgrades to a new release, but look for a new build of the same release.

--now
    Perform the upgrade now, rather than scheduling it for the next boot.

    This behavior is the default if the collection is not a system installation. Note this method may not be available if the upgrade is across an incompatible ABI change, which will implicitly force --wait.

--ports
    Upgrade the ports. If --system is not set, then --now is implied. If neither this option nor --system are set, then both options are set by default.

--reinstall
    Reinstall the same build and do not upgrade to a new release. This option is equivalent to --force and --no-upgrade.

--system
    Upgrade the system. If neither this option nor --port are set, then both options are set by default.

--upgrade
    Accept upgrades to a new release. This behavior is the default.

--wait
    Schedule the upgrade for the next boot.

    This behavior is the default if the collection is a system installation. This option requires the collection to be a system installation.

FILES
/boot/sysmerge/
    New kernel and initrd files.
/sysmerge/
    sysmerge(8) upgrades scheduled for the next boot.
/tix/collection.conf
    collection.conf(5) configuration.
/var/cache/tix/
    Temporary downloaded of the new release.

EXIT STATUS
tix-upgrade will exit 0 on success and non-zero otherwise.

SEE ALSO
collection.conf(5), upgrade(7), sysmerge(8), sysupgrade(8), tix(8), tix-autoupgrade(8), tix-release(8)

HISTORY
tix-upgrade originally appeared in Sortix 1.1.