Distributions
Pages 22
- Home
- Aliases
- Assertions
- Basic usage
- Configuration
- Content Interface
- Development
- Distributions
- Environment Variables
- Gadget snap
- Get in touch
- Getting involved
- hooks
- Interfaces
- Kernel snap
- Live Modification Of Mount Namespaces
- REST API
- Security
- snap confine Overview
- Snap Execution Environment
- Snap format
- Snapd Build IDs
- Show 7 more pages…
Clone this wiki locally
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 24 | Supported | 2.24 | devmode, no-classic |
| Fedora 25 | Supported | 2.24 | devmode, no-classic |
| Fedora 26 | Supported | 2.24 | devmode, no-classic |
| Fedora Rawhide | Supported | 2.24 | devmode, no-classic |
| CentOS 7 | In progress | N/A | devmode, no-classic |
| RHEL 7.3 | Unsupported | N/A | N/A |
| Arch | Outdated | 2.21 | devmode, no-classic |
| Gentoo | Outdated | 2.15 | devmode |
| OpenSUSE Leap 42.2 | In progress | 2.23.6 | devmode |
| OpenSUSE Tumbleweed | In progress | 2.23.6 | devmode |
| Yocto | Supported | 2.23.6 | devmode |
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.21 (snapd, 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.
- https://www.archlinux.org/packages/community/x86_64/snapd/
- https://www.archlinux.org/packages/community/x86_64/snap-confine/
The released version of snapd and snap-confine is 2.21.
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.
Arch doesn't support "classic confinement" at this stage. Work is ongoing to support "classic confinement" snaps regardless of the location of the snap mount point.
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
| Essential | Data |
|---|---|
| Version | 2.24 (snapd, snap-confine) |
| Confinement | not available |
| Vendorized | no |
| Automatic CI | no |
| Bug reports | snapd |
Fedora is supported on Fedora 24 and newer. Work is ongoing to enable support for full confinement of snaps using SELinux and supporting "classic confinement" snaps regardless of the location of the snap mount point.
In the past, Fedora work was progressing in a COPR repository. However, since it was
approved into the distribution, the work has moved entirely into the official
Git repositories. Snapd 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 | 24 | 25 | 26 |
|---|---|---|---|
| kernel | 4.10.8 | 4.10.8 | 4.11.x |
| systemd | 229 | 231 | 233 |
| libseccomp | 2.3.2 | 2.3.2 | 2.3.2 |
| libselinux | 2.5 | 2.5 | 2.6 |
| golang | 1.6.4 | 1.7.5 | 1.8.1 |
| gcc | 6.3.1 | 6.3.1 | 7.x.x |
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:
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.
This is the snapd wiki, feel free to edit!