Snap Packaging Format – What is It?


I have a very little knowledge about the 'Snap packaging format'. What I know is that 'Snap' is an alternative packaging format like .deb.

What I don't know is

  • Why did Canonical chose it?
  • What are the main advantages of 'Snap' over .deb?
  • Will .deb be abandoned, or is it already abandoned?

Best Answer

Why did Canonical chose snaps?

To quote the Ubuntu website:

We originally created the snappy technology and application confinement system to ensure a carrier-grade update experience for Ubuntu mobile users and set a new standard for application security in the mobile era.

Essential idea was to fix issues that are present in both .deb packages and provide new method for updating the packages (the so called transactional updates , very similar to how android apps are updated). As Mark Shuttleworth explains:

Whenever we make a fix to packages in Ubuntu, we’ll publish the same fix to Ubuntu Core, and systems can get that fix transactionally. In fact, updates to Ubuntu Core are even smaller than package updates because we only need to send the precise difference between the old and new versions, not the whole package.

What are the main advantages of .snap packages over .deb packages?

The biggest advantage is the improved security. PPAs and .deb packages are typically installed with root privillege , which opens up a venue for security risks.

Snappy apps are isolated, meaning that if some app breaks, it won't break your systems. To quote Mark Shuttleworth:

Snappy packages are automatically confined to ensure that a bug in one app doesn’t put your data elsewhere at risk

Will .deb be abandoned?

As of Ubuntu 16.04 LTS , both methods are available to the users.

To quote OMG! Ubuntu!:

Canonical also say that “…the tens of thousands of applications and packages in .deb format will continue to be supported in 16.04 and beyond, and deb archives in particular will continue to be available for all to use and distribute software.”