Ubuntu – Snap in Ubuntu 16.04

package-managementsnapsoftware installation

Completely confused with this new feature snap. I know this might be detailed question-answer but I need to know some info regarding it.

I have read that new application format, snap which can be installed by default in the latest long-term support release alongside traditional deb packages. So, Does it mean are there packages with .snap extension like .deb? Then, How to install?

The user can use newer versions of apps on older versions of Ubuntu without forsaking the stability of your entire system. Is this the only difference between deb and snap? Does it only exist to LTS version or for non-LTS too?

With this, it is also said that Creating snaps is simplified for developers with the introduction of a new tool called “snapcraft” to easily build and package applications from source and existing deb packages. Is it useful to desktop user or only for developers ?

Best Answer

snap packages are installed through the snap command. More information is here and here.

Search for available snap packages

To see a list of all available packages in the store, open a terminal and run the following command:

snap find

To search for a specific package by name, just add your search term to the end of the snap find command:

snap find name

For a more complete search–searching package descriptions as well as package names–just pipe the output of the snap find command through the grep filtering tool, like so:

snap find | grep search

How to install a snap package

To install a snap package, use the following command, specifying the package by name. Because this makes changes to the system, you have to add sudo before the command to run it with root privileges.

sudo snap install package-name

The snap command will download and install the snap package you specified, displaying the progress in the terminal window.

You can launch the application you installed like any other application. If it's a graphical application, it should appear in your desktop's applications menu. Otherwise, just start typing the application's name at the terminal and press the Tab key to automatically complete it. You can then press Enter to launch the application or run the command you installed.

How to update a snap package

To update an installed snap package, run the following command, specifying the package's name. If a new version of the snap is available, it will be downloaded and installed.

sudo snap refresh package-name

There doesn't appear to be a command that updates all installed snap packages at the moment, but we wouldn't be surprised to see one added in the future.

How to list your installed snap packages

To list your installed snap packages, run the following command

snap list

You can use this command to search your installed packages, too –j ust pipe the output through grep again:

snap list | grep search

How to remove a snap package

To remove an installed snap package from your computer, run the following command:

 sudo snap remove package-name

View recent changes

Run the following command to view a list of system changes. This displays a list of the snap packages you've recently installed, refreshed (updated), and removed, along with the times those operations took place.

snap changes

See more operations

To see more snap command operations, view the snap command's manual with the following command. Use the arrow and page up/down keys to scroll through the manual. press the q key to quit when you're done.

man snap  

In effect, a .deb package includes an executable plus the information needed to install it into the system: where it goes, what it depends upon, etc. Compare this with a snap package, which includes the executable and any necessary dependencies - think of it like static linking of libraries versus dynamically calling in what's installed elsewhere on the system.

The idea is that you could have a stable version A library on the OS, but a new application might demand version B. With a .deb, you'd need to upgrade A, and that might in turn impact some other packages; with snap, the application would come bundled with version B for its sole use, so the system-wide version A remains untouched.