What is the Snap packaging format?
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.”
As an overview, as far as I understand snaps:
- Snaps are more secure. Running in own "containers".
- It's much more easy to handle with snaps than with deb packages.
In the future, snaps will be the package format for mobile devices, internet of things and desktop.
is or will be .deb abandoned? Canonical said, there will be support deb packages also in the future.
But there is a tool called snapcraft
. With this tool its very easy to convert deb packages into snap packages.
Follow this link for more information. Maybe it helps you. https://insights.ubuntu.com/2016/04/13/snaps-for-classic-ubuntu