Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

NAME

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

SYNOPSIS

tix-upgrade [-C collection] [--cachedir=directory] [--cancel] [--check] [--clean] [--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. Use tix-clean(8) to only clean without upgrading.
-C, --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.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org