10

I understand (broadly) how snap packaging works. But what precisely do each of "snap", "snapd" and "Snappy" refer to?

It seems like "snap" refers to many things (package format, terminal command...), "snapd" is a specific tool and "Snappy" is no longer used [1] [2]?

[1]: The only official mention I could find was the title and URL of this Ubuntu desktop page: https://www.ubuntu.com/desktop/snappy

[2]: As I recall Ubuntu Core used to be called Snappy Ubuntu Core, but this is no longer the case: https://developer.ubuntu.com/core

15

  • Snap: A specific packaging format defined as a squashfs image containing a meta/snap.yaml file that follows a specific format.
  • Snap Store: A central repository of snaps from which they can be downloaded/installed.
  • Snapcraft: A command-line tool used to create snaps (think pbuilder for snaps) and (optionally) place them in the store.
  • Snapd: A daemon required to run snaps (download them from the store, mount them into place, confine them, run apps out of them, etc.). Snapd also includes the snap command, used to communicate with snapd (for the user to request a new snap be installed, etc.)

This entire system is sometimes referred to as "snappy". Confusingly, I'm also seeing it more and more often referred to as "snapcraft". While snaps run on normal Ubuntu (and indeed a variety of other Linux distributions), Ubuntu Core is an operating system based entirely upon snaps (no apt whatsoever). Unfortunately, there was already an "ubuntu core" that was the basic rootfs of Ubuntu, so to differentiate, it was called "snappy ubuntu core." The old core was recently renamed to ubuntu base, which is why you see "snappy ubuntu core" less these days.

2

Snappy is a software deployment and package management system originally designed and built by Canonical for the Ubuntu phone operating system. The packages, called 'snaps' and the tool for using them 'snapd', work across a range of Linux distributions and allow therefore distro-agnostic upstream software deployment. The system is designed to work for phone, cloud, internet of things and desktop computing.

"Snap" application packages of software are self-contained and work across a range of Linux distributions. This is unlike traditional Linux package management approaches, like APT or RPM, which require specifically adapted packages per Linux distribution on an application update and delay therefore application deployment from developers to their software's end-user. Snaps themselves have no dependency on any external store ("App store"), can be obtained from any source and can be therefore used for upstream software deployment. When snaps are deployed on Ubuntu and other versions of Linux, the Ubuntu app store is used as default back-end, but other stores can be enabled as well.

Developers can use snaps to create command line tools, background services as well as desktop applications. With snap application, upgrades via atomic operation or by deltas are possible.

In June 2016, snapd was ported to a wide range of Linux distributions to enable snaps to be used across any Linux distribution, not just the all-snap Ubuntu Core. snapd is also available or in progress for Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, OpenWrt, openSUSE and Red Hat Enterprise Linux. Each distribution is able to interpret the snap metadata to implement the security or other expectations of the snap in a distribution-specific fashion.

Source: https://en.wikipedia.org/wiki/Snappy_(package_manager)

  • 1
    this is from wikipedia ... is there any first-party source confirming that the name "Snappy" is still used? – david.libremone Oct 9 '17 at 19:15
  • I am also looking for precise definitions, not a detailed explanation of how snap works, I've updated my question to better reflect this – david.libremone Oct 9 '17 at 19:18
  • 1
    Sorry about that... I did not see your rep before I copy and pasted that lol. if I had looked first i would have known your question was not that basic.. – Rarda Oct 9 '17 at 19:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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