88

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.

  • 4
    It appears to me that Canonical is creating a whole new strand of Linux distributions, as it does not use either the Redhat nor the Debian infrastructure, and that using the Ubuntu name for it should help developer acceptance. – Thorbjørn Ravn Andersen Jun 6 '15 at 8:38
  • 1
    An excellent description of what is snap, how and where does it work has been resently listed on snapcraft.io and mentioned in docs.ubuntu.com/core/en – luart Jan 9 '17 at 18:31
77

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.

  • 3
    Wow, this is excellent clarification!! Thanks a ton. – ste_kwr Apr 4 '15 at 0:22
  • 2
    This is EXACTLY what I have been looking for for a while. Now time to learn a bit more about it now that I have a basic understanding! Thank you so much! – Crutchcorn Jul 9 '15 at 20:02
  • 1
    So then, @Eliah Kagan, what is the advantage of Snappy over regular Ubuntu or Debian? – thatmaheshrs Sep 21 '15 at 12:42
  • 2
    @thatmaheshrs: Did you read the tour? "Snappy apps and Ubuntu Core itself can be upgraded atomically and rolled back if needed". – Nick Westgate Sep 28 '15 at 0:26
  • 1
    It's sudo snap install <something> and snap find <search term> now. – dholbach Jun 9 '16 at 13:58
5

Snappy Ubuntu Core is like a Lego system, each snap (app) is a block not affected by other snaps. So security is simpler and higher, dependencies are no longer an issue and the lifecycle of snaps are much easier. With a single command you can exchange versions, eliminate and upgrade any snapp and even the core (OS).

This is the default on 16.04 but Mark said that you'll use .apt and .deb also.

  • 3
    This makes no sense. It sounds good, but it's clearly written by someone without a technical understanding. "Snap" isn't a technical term. Dependencies in .deb packages are also taken care of -- and the versions. Just type apt-cache depends <package>. And, a single command? Who cares... Just remove the dash: apt-cache apt-get.. becomes apt cache and apt get... – Evan Carroll Feb 21 '16 at 5:00

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.