Skip to content
Zygmunt Krynicki edited this page Feb 13, 2017 · 51 revisions

This page documents status of snapd across various operating systems.

Support Matrix

The following matrix shows which version of snapd is available in each of the listed environments. Not all environments are listed, see below for details.

Operating System Status Version Notes
Ubuntu 14.04 LTS Supported 2.21
Ubuntu 16.04 LTS Supported 2.21
Debian (testing) Supported 2.21 devmode
Debian (unstable) Supported 2.21 devmode
Fedora 25 In progress N/A devmode, no-classic
CentOS 7 Unsupported N/A N/A
RHEL 7.3 Unsupported N/A N/A
Arch Outdated 2.16 devmode
Gentoo Outdated 2.15 devmode
OpenSUSE Leap 42.2 Unsupported TBD N/A
OpenSUSE Tumbleweed Unsupported TBD N/A
Yocto Unsupported TBD N/A

devmode: confinement technology is not fully supported and all snaps are installed in development mode.

no-classic: because of distribution policy to remove /snap directory, snaps using classic confinement are not supported.

Linux Distributions (in alphabetical order)

Arch

Essential Data
Version 2.16 (snapd) 1.0.41 (snap-confine)
Confinement not available
Vendorized no
Automatic CI no
Bug reports snapd
snapd-confine
Arch Wiki Snapd

Snapd is maintained by the Arch packaging community. The primary contact is Timothy Redaelli. Snapd is available as two packages: snapd and snap-confine.

The released version of snapd is 2.16, this is coupled with snap-confine 1.0.41. Note that this version number denotes a pre-merged snap-confine. It is likely that the next packaging update will bring both versions in sync as it is now done in Ubuntu.

Upstream development is not actively tested on Arch. This is tracked as https://bugs.launchpad.net/snapd/+bug/1657102

Arch doesn't support confinement at this stage. This is caused by non-upstreamed patches to the Linux kernel that expand what apparmor is capable of. Those patches are being continuously merged and it is expected that Arch will be fully confined when the user chooses to enable Apparmor on their system.

Essential Dependencies in Arch

Note that Arch is a rolling release distribution, the following table is only a snapshot.

Component Version
kernel 4.8.13
systemd 232
libseccomp 2.3.1
libapparmor 2.10
golang 1.7.4
gcc 6.2.1

CentOS

CentOS is not currently supported. It is likely that once all the issues affecting Fedora are resolved then CentOS can be enabled via the EPEL7 repository.

Essential Dependencies in CentOS

Component CentOS 7
kernel 3.10.0
systemd 219
libseccomp 2.3.1
libselinux 2.5
golang 1.6.3
gcc 4.8.5

Debian

Essential Data
Version 2.21 (testing), 2.21 (unstable)
Confinement none
Vendorized no
Automatic CI no
Bug reports snapd

Snapd is maintained by the Debian packaging community. The primary contacts are Steve Langasek and Michael Hudson-Doyle. Snapd is available as the snapd package (together with some helper packages that the user is not expected to explicitly install).

Upstream development is not actively tested on Debian. This is tracked as https://bugs.launchpad.net/snapd/+bug/1657101

Debian doesn't support confinement at this stage. This is caused by non-upstreamed patches to the Linux kernel that expand what apparmor is capable of. Those patches are being continuously merged and it is expected that eventually Debian will be fully confined when the user chooses to enable Apparmor on their system, but this will not be ready for Stretch.

Essential Dependencies in Debian

Component (Testing) (Unstable)
kernel 3.10.0 4.8
systemd 219 232
libseccomp 2.3.1 3.3.1
libselinux 2.5 2.10.95
golang 1.6.3 1.7
gcc 4.8.5 6.2.1

Elementary

Essential Data
Version 2.21 (Loki)
Confinement apparmor, seccomp
Vendorized yes
Automatic CI indirectly, via ubuntu
Bug reports snapd
snapd-confine

Since Elementary is a derivative of Ubuntu using the same binary packages pretty much everything that applies to Ubuntu is true for Elementary. Since the Loki release of elementary, snapd supports confinement based on apparmor.

Essential Dependencies in Elementary

Component (Loki)
kernel 4.4.0
systemd 229
libseccomp 2.2.3
libapparmor 2.10.95
libselinux 2.4
golang 1.6.2
gcc 5.4.0

Fedora

Fedora is not currently supported but there's been a great deal of work towards making snapd work correctly there. The two packages snapd and snap-confine are now accepted into Fedora. There are two issues that block general release into Fedora 24 and 25 (Fedora 23 is affected by another issue but it is not essential as that release is no longer supported).

Bugs blocking Fedora release:

In the past Fedora work was progressing in a COPR repository but since it was approved into the distribution the work has moved entirely into the official git repositories instead. Snapd and snap-confine can be built and managed with fedpkg, just like any package in Fedora.

Packages are maintained in the Fedora git repository. The primary contact is Zygmunt Krynicki.

Essential Dependencies in Fedora

Component 23 24 25
kernel 4.8.13 4.8.15 4.8.15
systemd 222 229 231
libseccomp 2.3.1 2.3.1 2.3.1
libselinux 2.4 2.5 2.5
golang 1.5.4 1.6.4 1.7.4
gcc 5.3.1 6.3.1 6.3.1

Gentoo

Essential Data
Version 2.15.2
Confinement none
Vendorized yes
Automatic CI none
Bug reports On GitHub

Gentoo is currently supported with an outdated portage overlay.

https://github.com/zyga/gentoo-snappy

Contributions to update to the latest releases are welcome. If you'd like to maintain this overlay or merge it into the official portage tree then please open an issue or get back to us in any way.

OpenSUSE

OpenSUSE support is not finished. While it is possible to run snapd on OpenSUSE Leap 42.1, significant packaging work remains to get to a point where it works, primarily to bring all the required golang packages into the distribution.

Packaging is maintained in the Open Build Service at

https://build.opensuse.org/project/show/system:snappy

Contributions to update to the latest releases are welcome. If you'd like to maintain this repository or merge it into the official repository then please open an issue or get back to us in any way.

Bugs blocking OpenSUSE release:

  • hhttps://bugs.launchpad.net/snapd/+bug/1657098

In addition, we need to investigate the rules with regards to bundling dependencies in golang projects. If allowed then snapd can build as-is. If not allowed the snapd must be de-vendorized and all the relevant libraries need to be maintained.

Essential Dependencies in OpenSUSE

Component Leap 42.1 Leap 42.2 Tumbleweed
kernel 4.1.36
systemd 210
libseccomp 2.1.1
libapparmor 2.10.1
golang 1.5.4
gcc 4.8

RHEL

RHEL is currently not supported. It is possible to build snapd and run it there but that work is going to be, most likely, derived from CentOS packages. A manual experiment was done to build snapd natively on RHEL 7 with upstream binary golang compiler.

Essential Dependencies in RHEL

Component RHEL 7.3
kernel 3.10.0
systemd 219
libseccomp 2.3.1
libselinux 2.5
golang none
gcc 4.8.5

Ubuntu

Essential Data
Version 2.21 (Trusty), 2.21 (Xenial), 2.21 (Yakkety), 2.22 (Zesty)
Confinement apparmor, seccomp
Vendorized yes
Automatic CI with autopkgtest and spread
Bug reports snapd
snapd-confine

Snapd is tested automatically with the autopkgtest system as well as with the spread system.

Packaging is maintained in the main git repository: https://github.com/snapcore/snapd/tree/master/debian. From this repository Xenial releases are made. Releases for Yakkety and Zesty are derived from the Xenial release. Ongoing work on Trusty is made with separate packaging.

Snapd on Ubuntu 14.04 (Trusty)

Snapd was released into 14.04 as an add-on package (it is not installed by default).

Essential Dependencies in Ubuntu

Component (Trusty) (Xenial) (Yakkety)
kernel 4.4.0 4.4.0 4.8.0
systemd 204 229 231
libseccomp 2.1.1+ 2.2.3 2.3.1
libapparmor 2.8.95 2.10.95 2.10.95
golang N/A 1.6 1.6.1
gcc 4.8.2 5.3.1 6.1.1

Note that Trusty uses the Xenial kernel via the LTS enablement packages. Ubuntu 14.10, 15.04 and 15.10 have reached End-Of-Life status and will not receive further support.

Note that the 14.04 build of snapd uses golang-1.6.

OpenWRT

TBD

Yocto

TBD

Android

TBD

Other Operating Systems

Windows 10 with Linux subsystem

Snappy is not supported in the Windows 10 Linux subsystem at this time.

MacOS

Snappy is not supported on any version of MacOS at this time.

Clone this wiki locally