swupd
Update software on a Clear Linux system
TLDR
Update to the latest version
Show current version, and check whether a newer one exists
List installed bundles
Locate the bundle where a wanted package exists
Install a new bundle
Remove a bundle
Correct broken or missing files
SYNOPSIS
swupd [OPTIONS] COMMAND [COMMAND_OPTIONS]
PARAMETERS
update
Updates the system to the latest version available in the configured update channel.info
Displays information about the current system version, update channel, and other relevant details.bundle-add
Adds the specified bundle to the system, installing the necessary software packages.bundle-remove
Removes the specified bundle from the system, uninstalling the associated software packages.check-update
Checks for available updates without actually applying them.-v, --version
Displays the version of swupd
.--help
Displays help information for the swupd tool or the specific subcommand
DESCRIPTION
swupd
is the software update delivery tool used by the Clear Linux* OS to manage system software. It's designed for efficient, secure, and reliable updates by leveraging a stateless operating system model. swupd
operates on the principle of manifest-driven updates, meaning that a central manifest defines the complete state of the system and all updates are based on comparing and applying changes defined within these manifests. This allows for deterministic and verifiable updates, minimizing inconsistencies and improving security.
The command allows the user to keep the OS up to date, manage bundles (groups of software packages), and verify the integrity of the system. It also includes support for rollback to previous versions and creating custom OS versions. The key feature of swupd
is its ability to deliver updates quickly and efficiently using delta updates, only transferring the changes needed to update the system, rather than the entire operating system image.
CAVEATS
swupd
is primarily designed for use with Clear Linux* OS and may not be compatible with other Linux distributions without significant modifications. Requires root privileges for most operations.
UPDATE CHANNELS
swupd
uses update channels to provide different levels of software stability and feature sets. Users can switch between channels to receive more frequent updates (with potentially less stability) or stick to more stable channels with fewer updates.
The channel is defined in /etc/os-release and its content can be accessed by os-release
command. The default channel is 'os'. The channel number represents the build number on the build server and the software is validated before it can be used.
BUNDLE MANAGEMENT
Bundles are logical groupings of software packages that provide specific functionalities or development environments. swupd
makes it easy to add or remove bundles as needed, allowing users to customize their system with only the software they require.
BEHIND THE SCENES
swupd
uses /var/lib/swupd, /usr/share/defaults/os-release, /etc/os-release to function properly. It is imperative that these folders exist, have the correct permissions and content.
HISTORY
swupd
was specifically developed by Intel for Clear Linux* OS. The tool was created to address the need for a robust, efficient, and secure software update mechanism in a modern, cloud-native operating system. It emphasizes a stateless system design, allowing updates without conflicts and enabling easy rollback. swupd
development began in the early stages of Clear Linux* OS and has been continually refined and improved upon since its initial release.
SEE ALSO
stateless(7)