10

Ubuntu Core, Canonical's latest version of Ubuntu for IoT devices, says that its new Snappy package manager is ideal for the Internet of Things, and Wikipedia says that:

Snappy packaging has been deployed in internet of things environments, ranging from consumer-facing products to enterprise device management gateways

However, package managers on Linux aren't a new thing by any means - APT has been around since mid-1998 - so why is Snappy considered so much better by Canonical for IoT? Are other package managers' security practices unsuitable for IoT or is there another factor that is more important?

1 Answer 1

16

There are two advantages as far I know, here they are:

First: Snap packages can bring their own dependencies with them. So no dependency hell.

Second: Snap packages can be installed for one user only. So more control of who is running that software.

Some quotes (including source links):

from https://insights.ubuntu.com

Snaps are isolated from one another to guarantee data security, and can be updated or rolled back automatically, making them perfect for connected devices. Multiple vendors have launched snappy IoT devices, enabling a new class of “smart edge” device with IoT app store. Snappy devices receive automatic updates for the base OS, together with updates to the apps installed on the device.

(source)

from https://developer.ubuntu.com

Ubuntu Core is in many ways simply another flavor of Ubuntu (eg, the root filesystem is built from packages from the same Ubuntu archive as other flavors), but it differs in many important ways:

  • The base system is a very minimal system that consists of three different parts: the kernel, gadget and OS which are all packaged and delivered using the new snap packaging format
  • There is a clean separation between the base system and the applications installed on the system as well as a clean separation between installed applications
  • Ubuntu Core replaces ‘apt’ with the new ‘snap’ command and applications are packaged and delivered as ‘snaps’
  • The root filesystem is read-only
  • Developers may update applications independently of the OS
  • Applications run in a security sandbox by default
  • Ubuntu Core is application-centric instead of distribution archive-centric

The above qualities aim to address many of the challenges inherent in the traditional Linux distribution model and greatly increase reliability, predictability and security.

(source)

from http://snapcraft.io/

A snap is a fancy zip file containing an application together with its dependencies, and a description of how it should safely be run on your system, especially the different ways it should talk to other software.

Most importantly snaps are designed to be secure, sand-boxed, containerized applications isolated from the underlying system and from other applications. Snaps allow the safe installation of apps from any vendor on mission critical devices and desktops.

(source)

5
  • 2
    Can you add some sources for those who are not familiar with snap packages to help them assert the validity of your answer?
    – Helmar
    Commented Dec 10, 2016 at 15:06
  • 1
    Sure, let me dig them up :)
    – Videonauth
    Commented Dec 10, 2016 at 15:12
  • 4
    @Helmar there you go :)
    – Videonauth
    Commented Dec 10, 2016 at 15:37
  • "First: Snap packages can bring their own dependencies with them. So no dependency hell."
    – Tele
    Commented Mar 9, 2017 at 15:44
  • "First: Snap packages can bring their own dependencies with them. So no dependency hell." Sorry your answers sound like advertising, not real answers. What hapens if one package depends on Qt 5.3.2 , other one depends on Qt 5.9.1 , which one will be installed. Other problem, if you write a snap to work with Qt libraries, it will package all Qt5 libraries , and your snap will be 260MB and will be installed all again and again ? For the sake of a 50kb executable ? This is not clear. And especially not clear why is this an advantage without any doubt. Because canonical says so ?
    – Tele
    Commented Mar 9, 2017 at 15:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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