Ubuntu is about to undergo a dramatic overhaul.
No, I don't mean the huge shift to a converged Unity 8 desktop with the Mir display server, although that's also coming. Ubuntu is going to move past Deb packages and apt-get in favor of Snappy, which is currently used for cloud images.
Canonical's Ubuntu isn't the only project looking to replace Linux packages with something better. The GNOME project is working on a sandboxed, cross-distribution application package framework.
How traditional Linux packages work
To understand what's changing, it's necessary to understand how current Linux package managers work.
Like Debian, Ubuntu currently uses .deb packages. These are basically archives of files that your package manager extracts onto your system, sometimes with additional configuration scripts. Files are placed in system-wide directories on your hard drive. Their libraries go into the system-wide library directory, executables go into the system-wide binary directory, and other resources go into other system-wide directories.
Packages frequently depend on other packages. A package has a list of packages it depends on, and those packages must be installed to install that package. Modern package managers like apt-get deal with this automatically. When you install an application like the GIMP image editor on your Linux system, the package manager automatically downloads the other necessary packages and ensures you have the correct versions installed. Everything is installed system-wide, and packages could potentially interfere with each other.
How Snappy packages are different
Snappy works differently. Applications are no longer installed system-wide. The base Ubuntu operating system is kept securely isolated from applications you install later. Both the base system and Snappy packages are kept as read-only images.
Those applications are installed to separate directories and isolated from each other via the Linux-kernel-based AppArmor system. Snappy packages can include all the libraries and files they need, so they don't depend on other packages. Ubuntu is currently working on "deduplication" support, which means duplicate copies of files won't be kept--if two Snappy packages include the same library, it will only be stored in one place on disk.
Snappy also offers "worry-free" transaction updates. An update can never fail, as a package installation could potentially fail and become incomplete with typical Linux packages. Before a package is updated, your data is backed up--if the update fails, everything is rolled back. You can also easily roll back to a previous package version at any time, something that can be tedious with current Linux packages.
Sign up for MIS Asia eNewsletters.