Saturday, July 9, 2016

Oh Snap! Has Ubuntu just developed the Holy Grail of package managers?

How many times have you wanted the latest and greatest update to a piece of Linux software only to find out that it had dependency versions that were out of sync with your system. Your system finally grab the latest update to the software you wanted.
required library version x but the software required library version y. Until now, the only thing you could do is sit it out and wait (and hope) that your operating system vendor would eventually get around to updating the packages you needed so that you could

But Canonical, the company behind the Ubuntu Linux operating system, wants to change that with the introduction of "Snap Packages". Think of Snap packages as a combination of the tarballs of the 1970's and 1980's and modern containers. When you install a Snap package, you not only get the software you want but you get all of the dependencies it requires too - at their proper versions. All this without touching your base system, changing or updating its libraries, or introducing potential instability.

Also, one of the coolest things about Snap packages is that they aren't an Ubuntu-only thing. Any Linux distro can easily provide the snapd daemon and support snappy packages easily. That means that Snap Packages might finally deliver a solid universal package manager that works on any distro. No more creating an RPM for Red Hat systems, a DEB for Debian based systems, etc. With Snap packages, you literally create a single package and it works on any distribution that supports them.

While Snap packages are a great advancement for the Linux ecosystem, it doesn't come without a cost. That cost is your hard disk space. Because Snap packages don't rely on system libraries but come packaged with their own dependencies, it means software installations could potentially be a lot larger. In today's world of 1TB+ hard drives, that might not be such a huge issue but it's something users should be aware of when venturing into this new territory.

In the end, we're still at the beginning of Snap packages and there's still a lot of work to do. For it to become a true universal package manager, we need more distros to adopt it, we need more developers to use it, and we need more users to demand it. It's going to take a while for those things to happen but we'll be in a much better place when they do. We'll have more stable systems, less frustrated developers, and much happier users. All of that makes Linux strong and more united in the end.

To find out more about Snap Packages, you can visit this link. To use them, you must be running Ubuntu 16.04 or later or another distribution that supports them.