Linux*-based operating systems contain the code of several hundred, if not thousands, of open source projects. To make this manageable, distributions use a concept called packages to configure and compile the source code of these projects into binaries, which can then be logically installed.
Many distributions then combine these compiled binaries into so-called packages, resolving dependencies and providing everything needed to install. Typical distributions deploy their software at this granularity level. Thus, they enable system administrators to install and update each package, individually or as a set, with tools such as yum and apt-get.
The Clear Linux way
The Clear Linux OS for Intel® Architecture does not deploy software through packages as many distributions. We use the packages concept to manage compiling source code into binaries but we provide bundles with a functionality set for the system administrator to install and update. This functionality is enabled by composing all the required upstream open source projects into one logical unit: a bundle.
Another notable difference between package-based distributions and the Clear Linux OS lays in updating packages. In a package-based OS, a system administrator can update each individual package or piece of software to a newer or older version. In Clear Linux, an update translates to an entirely new OS version, containing one or many updates. You cannot update a piece of the system and remain on the same version of Clear Linux.
Why would you want this? This restriction may sound like a huge limitation at first but we consider the following: Imagine a cloud environment with many machines. In this case, you want and find it more advantageous to have a homogeneous set of software across all machines.
If you need to describe what version of software a server is running in a traditional distribution, you need to:
List and keep track of the current OS release, generally uninformative about any singular packages or functionality.
Track all packages and repositories used, updating them as required to keep up to date.
List and track every package available and installed on the system, none of which are directly tied to the current OS release.
Given the nearly endless combinations of packages and versions of packages a server may have, it quickly becomes non-trivial to define the version of the system and the software it runs without explicitly going through each system and inspecting every package.
With Clear Linux you just keep track of a single release number.
The release number sufficiently describes the versions of all the software on the system. Each build of the OS is composed of a specific set of bundles comprised of specific versions of the packages. This matters to system administrators daily when they need to determine which of their systems do not have the latest security fixes, or which combinations of software have been tested with other pieces.
In Clear Linux, every release with the same number is guaranteed to contain the same versions of software. There is no ambiguity between two systems running the same release of the Clear Linux OS.
Incredible update speeds
Clear Linux software updates are also efficient. The bundles only describe a set of files and our technology only updates files that actually changed, using the so-called binary-delta technology for efficiency. Package based distributions update the entire package even if only a small file within changed.
In Clear Linux, a full OS update fixing a security hole commonly is only 15 kilobytes in total size. We achieve this through binary deltas. The OS is able to update only the changed bits, yielding a very small content update, the deltas, which are applied exceedingly fast. Thus, you can expect a major security patch or core update to take seconds.
We realize each data center operator may have special needs and ideas. For them, we provide a mixer tool, which would allow users to customize or add bundles and their own software while using the OS's content and its updates as their basis. This way, system administrators can focus on the pieces custom to their environment of their OS deployment while staying on a controlled update stream.