Ubuntu – Snappy Ubuntu Core

ubuntu-core

Before everyone rushes to mark this as a duplicate, I have indeed read the other threads here and here, googled this, and visited the snappy homepage here searching to clear my confusion, and I couldn't. I ask here because I still remain confused. I understand that it is some sort of a minimal working ubuntu, and the spirit of this question is not what is "in it", rather what it is and how it works.

  1. What is the snappy approach to applications? The homepage describes some of it's merits, but as a user, how will I get the apps? Do I still sudo apt-get install XXXX? Or something else?

  2. Will regular ubuntu applications work if I install snappy (the same thing that works on my normal ubuntu install using apt-get or by downloading a deb package), or does someone need to do something special to make an app work in snappy?

  3. Snappy Core is available for Raspberry Pi, for instance, which is a different (mobile) processor, if I install snappy on that, will regular desktop apps still work on Pi? Is that the point of snappy?

  4. If the standard approach does not work, how do I get applications, where do I search for what applications are available for snappy, and how do I install them.

Thank you. My questions are formulated to the best of my understanding of how applications work and are installed in Ubuntu, but please edit them to make more sensible if you get what I mean to ask.

Best Answer

apt-get and other utilities for working with traditional .deb packages do not work to install and upgrade applications on a Snappy Ubuntu Core system. Instead you use the snappy utility. See the Snappy Tour for details.

To summarize a couple examples from the Snappy Tour, to install the Docker application you would run:

sudo snappy install docker

And to install updates, you run sudo snappy update-versions (which corresponds to sudo apt-get update on a normal Ubuntu system), snappy versions to see what's newly available, and sudo snappy update ... to specify packages for updating (put their names in place of ...).

Because Snappy Ubuntu Core doesn't use .deb packages, Ubuntu packages created for regular Ubuntu systems will not work--the relationship between regular Ubuntu systems and Snappy Ubuntu Core when it comes to package files is, in effect, the same as the relationship between any two distributions that use totally different package managers. (For example: Ubuntu and Fedora.)

Like in just about any OS, you could manually install programs on Snappy Ubuntu Core provided you have or can obtain all the libraries (and any other dependencies) they need. However, just as the best way to install most software on regular Ubuntu systems is with a .deb package, the best way to install software on Snappy Ubuntu Core is with specially built snappy packages. Only a handful of these exist so far.

To search for Snappy Ubuntu Core apps from within a Snappy Ubuntu Core system, use:

snappy search search-term

This finds Snappy packages with search-term in their names. (You'd replace that with whatever you're looking for, of course.)


As for Raspberry Pi, those have ARM processors, which you're right are not the same as the usual 32-bit and 64-bit Intel and AMD processors most of us use on our traditional PCs. However, Raspberry Pi support does not appear to be the main point of Snappy Ubuntu Core. Instead, as you may be aware, the general aim of Snappy is for better speed, stability, and security, in circumstances where a minimal Ubuntu Core system is sufficient and appropriate.

Snappy is cloud-oriented ("Snappy Ubuntu Core is the perfect system for large-scale cloud container deployments..."), and explicitly supports many x86 (i.e., not ARM) platforms--see the list of options under "Try the new, snappy Ubuntu yourself!" on the Snappy home page.

Nonetheless, depending on your needs, Snappy Ubuntu Core may be a reasonable way to get a working Ubuntu Core system on a Raspberry Pi. Depending on which Raspberry Pi board you have, it may or may not support a fuller, more traditional installation of Ubuntu. Note, though, that there are other options that may be more Ubuntu-like in the ways that matter to most users of traditional Ubuntu systems:

  • Debian is quite similar to Ubuntu, and provides an experience in many ways more similar to most Ubuntu installations. In particular, like a normal Ubuntu system Debian uses apt-get. In fact apt-get originated in Debian. (Ubuntu is a derivative of Debian.)
  • Raspbian is a derivative of Debian made specially for the Raspberry Pi. Like Debian and normal (non-Snappy) Ubuntu systems, uses APT-based package management (i.e., with apt-get). The Debian project's page about Debian on Raspberry Pi even says, "Generally, your best bet is to use Raspbian".

See also this list of operating systems for Raspberry Pi.

Related Question