Ubuntu 20.04 Focal Fossa is a fantastic release that is widely acclaimed. However, the decision to change the Software Center to install snap-based applications is controversial. We explain what that means for you.
What is a Snap package on Linux?
"Snap" refers to both the
snap command and a snap install file. A snap bundles an application and all its dependencies into one compressed file. The dependents may be library files, web or database servers, or anything else an application must have to start and run.
The advantage of snaps is that they make installations easier because they avoid the sorrow of the dependency hell. This is what happens when a new application also cannot run because a required resource is not available, it is the wrong version, or the installation overwrites the files needed for existing applications so that they cannot run.
You would take a snap to be uncompressed and the files will be extracted during installation. However, it is at runtime that the snap file is mounted on a block loop device. This allows access to the internal SquashFS file system of the file.
The application runs in an encapsulated, protected manner so that the files cannot interfere with the files on your computer. You can even install multiple versions of the same application, and they won't cross-pollinate or fight among themselves.
The downside is that the installation files are larger than the traditional Debian package manager (DEB) files. They also use more real estate on the hard drive. With snaps, each application that needs a particular resource installs its own copy. This is not the most efficient use of hard disk space. While hard drives are getting bigger and cheaper, traditionalists still resist the extravagance of any application running in its own mini container. Starting applications is also slower.
Snaps have also been criticized for not following the theme of the desktop and their automatic upgrades. Some people are also wary because snaps are not necessarily created by the authors of the software. Therefore, they don't consider them 1
Therefore, with Focal Fossa, Canonical has replaced the Ubuntu software application with a version that installs standard snaps. What does this mean to you? to list the
SquashFS file systems on your computer. We use the option
-t (type) to restrict the output to the file systems we are interested in:
df -t squashfs
We then use the
snaplist command to display the installed snaps:
There are two snaps related to the GNOME desktop, two related core snap functionality, one for GTK themes and one for the snap store. Of course, the application
snap-store is also a breeze.
Here's the thing: if you run the
snap-store command in a terminal window, the launched application is the Ubuntu software.
Of course, you usually run the Ubuntu software application by clicking on the icon. We launch it from the command line to show that below the surface it is now the application
The Ubuntu software application looks exactly as you would expect. You can search for the same software that you could use before.
Let's find and install the "sqlite browser" application. The results screen shows the details of the application and a screenshot. Select "Install" to install the software.
If you didn't know, you wouldn't suspect the changes under the hood. Scroll down and you will see new, snap-specific information.
The "Details" list provides the following information:
- Channel : The channel from which the installation will retrieve the application.
- Version : The software version.
- License : The license type.
- Developer : The person who created the module, or the people who wrote the application.
- Source : The source from which the module will be downloaded (snapcraft.io is Canonical's Snapcraft snapstore).
- Download Size : The size of the snap file.
The channel can be one of the following:
- Stable : The default setting, which contains the most stable, reliable packages.
- Candidate : This channel is less stable, but is very close because it contains release candidate level software.
- Beta : This channel is of late development cycle quality, but is not guaranteed to be stable.
- Edge : For early testers and the curious. You shouldn't use this channel for anything important.
After the installation is complete, we can recheck the list of installed snaps:
The new item is listed below. Let's start the program:
Everything about the application works fine, although the interface looks outdated. The carved, pseudo-3D interface elements remind you of the GUIs of yesteryear. This is not common with all snaps, but it is striking in this example.
RELATED: Working with Snap Packages on Linux
Installing from the Command Line
Nothing changes when installing applications from the command line. You can still access the command line utility
snap so you can install and remove snaps in a terminal window. The install command
apt the wrapper of apt-get are still there.
Let's install the same application from the command line. Since the version we installed above is a breeze, they don't affect each other:
sudo apt-get install sqlitebrowser
Allow the installation to complete. Press the Super key and type "sqlite browser". After typing a few characters, you will see two versions of the program on your computer.
Start them both up. 
As you can see, we have two different versions installed and running at the same time.
The version at the back of the image is the one we installed from the command line and the version before it is a snap:
apt-getversion is version 3.11.2.
moduleversion is 3.11.99.
Despite its appearance, the command line version is the older version. Either way, it's clear that the two versions coexist and work great together. So snaps do what they have to do with shielding different versions of the same application.
Also install applications from the command line with
apt-get is the same as always and is not affected by snaps at all.
Which one should you use?
Do you even care what type of application you use? If not, go with snaps.
If any of the following are deal breakers (or several), stay away from the Ubuntu Software application and install applications the traditional way:
- Snaps are slower loading. This will be more noticeable on old hardware.
- Snaps take up more space on the hard disk.
- Snaps are updated automatically.
- Snaps may not match your installed themes.
- Snaps are not always "official". They are often built by volunteers with good intentions.
If your computer is fairly modern, the speed difference between starting a module or a regular application will not be huge. The biggest time penalty we noticed was during installation. Downloading the snaps took much longer. After the files were downloaded, the installation was fast enough. However, downloading is a one-time task, so it's not something you have to deal with on a daily basis.
Even if you think snaps are the future, and you're ready to embrace them wholeheartedly, you can't go all-in with them. Some applications are not available in click form. In those cases, you still need to install them from the command line.
Canonical clearly nails its colors to the mast with this movement. As for the developers of Ubuntu, snaps are here to stay. As always, you can use them, ignore them, or have a hybrid system that combines and combines snaps and traditional DEB-based installations.