swupd is an operating system software manager and update program that operates at a file-level to enable verifiable integrity and update efficiency.

Visit the swupd man page for more details.

Versioning

Using package managers to keep track of software version compatibility or compare multiple systems on many Linux distributions can be cumbersome.

With Clear Linux OS swupd, versioning happens at the individual file-level. This means Clear Linux OS generates an entirely new OS version with any set of software changes to the system (including software downgrades or removals). This rolling release versioning model is similar to git internal version tracking, where any of the individual file commits are tracked and move the pointer forward when changed.

While administrators can pick and choose which bundles a system has installed, a single Clear Linux OS version number strictly represents one combination of all software versions that can be installed onto a system of that Clear Linux OS version. This method of whole OS versioning offers unique advantages. Namely, system administrators can quickly compare multiple Clear Linux OS systems that share the same version for important software and security fixes.

Updating

Clear Linux OS promotes regular and automated updating of software to ensure integration of new enhancements and security fixes. Refer to OS Security documentation for more information.

Learn how to update your system using swupd.

Update efficiency

Because swupd operates at the individual file-level instead of a package-level, Clear Linux OS updates are small and fast.

On many Linux* distributions, updates to a particular software package require the whole software package to be downloaded and replaced –even for one line of code.

In Clear Linux OS, updates are generated using the mixer tool. Mixer calculates the difference between two Clear Linux OS versions and makes available binary deltas, which contain only the changed portion of files. This binary delta technology [1] means swupd on Clear Linux OS systems only needs to download and apply a small fraction of a package in order to receive an update.

The mixer tool additionally computes updates files in multiple compression formats, allowing swupd to utilize the most efficiently compressed format for a Clear Linux OS system to minimize the cost to update.

Update integrity

This is the basis of the swupd diagnose subcommand, which allows a Clear Linux OS system to check for any discrepancies to system files. As necessary, swupd repair provides a useful way for software developers to remediate these discrepancies and return to a known filesystem state.

Bundles

Clear Linux* OS approaches software management differently than many other Linux-based operating systems.

Instead of deploying granular software packages, Clear Linux OS uses the concept of bundles with pre-associated software. Each bundle encapsulates a particular use-case, which is enabled by composing all the required upstream open-source projects and packages into one logical unit.

This bundle-based approach offers some unique advantages:

  • Bundles provide a particular functionality, or stack, which include all associated runtime dependencies.
  • Software package dependencies are resolved on the server, so file-level conflicts do not occur on the target system after an update.
  • All combinations of bundles are able to co-exist on a Clear Linux OS system.

For more information on bundles, visit:

[1] The software update technology for Clear Linux* OS was first presented at the Linux Plumbers conference in 2012.