Ubuntu “Snap” just made installing new apps and dependencies on 16.04 LTS much easier !

Ubuntu Snap is a new package that makes installing new softwares/packages, hassle free without dependencies in LTS releases. which comes from “Snapcraft”,that is from Ubuntu Core aka. Snappy which is a bare minimum essentials of Ubuntu which is required to run Ubuntu on portable machines, homes, drones, robotics etc. Ubuntu Snap really comes handy whenever the new LTS versions are installed and the user cannot update or upgrade to a newer version’s as it demands use of dependencies and application binaries.

Ubuntu 16.04 LTS introduces support for Canonical’s (relatively new) ‘Snap’ packaging format.

Snap packages are the aspirin to the headache of dependency-addled app upgrades.

For the desktop user there are 2 key benefits of snaps:

  • Developers can give you the latest version of their app
  • App isolation and confinement improves the security and reliability of the app

A .snap package for the Ubuntu Core system contains all its dependencies. This has a couple of advantages over traditional deb or rpm based dependency handling, the most important being that a developer can always be assured that there are no regressions triggered by changes to the system underneath their app.

Snapcraft makes bundling these dependencies easy by allowing you to specify them as “parts” in the snapcraft.yaml file.

A notable part of the discussion is that the .deb files or format will be still existing along with snap packages, and the user shall be allowed to install those debian blobs as per the standard traditions as found on Debian derivatives.

The key advantages of Snap package formats are:-

  • PPA dependencies resolved
  • Security as in terms of isolation ie. sanboxing
  • no need as such to depend on Ubuntu Software center aka. Software Center, even though .deb files are still supported(and will be in the future)
  • Snaps are clever; transactional and delta updates which allows devs to only upgrade the parts that need updating, be it a single lib, an app icon, or the entire thing.

[via:- Developer ubuntu & omgubuntu.co.uk]