Ubuntu 04/20 Focal Fossa is a fantastic release that has received widespread praise. However, the decision to move the Software Center to install Snap-based applications is controversial. We’ll explain what that means for you.
What is a snap package on Linux?
“Snap” refers to both the
snap Command and a snap installation file. A snap bundles an application and all of its dependent elements in a compressed file. The dependent files can be library files, web or database servers, or anything else an application needs to start and run.
The advantage of Snaps is that they make installation easier because they avoid the heartache of using it Dependency hell. This occurs when a new application cannot run because either a required resource is not available, the wrong version is available, or the installation of existing applications overwrites required files so that they cannot run.
You could expect a snap to be decompressed and the files extracted at installation time. At runtime, however, the snap file is saved on a Block loop device. This enables the internal SquashFS file system can be accessed.
The application runs in an encapsulated and shielded manner so its files cannot interfere with the files on your computer. You can even install multiple versions of the same application that won’t pollinate or quarrel with each other.
The disadvantage is that the installation files are larger than the traditional ones Debian package manager (DEB) files. They also use more disk space. With Snaps, each application that needs a particular resource installs its own copy. This is not the most efficient way of using hard drive space. Although hard drives are getting bigger and cheaper, traditionalists still shy away from the extravagance of any application that runs in its own mini-container. Starting applications is also slower.
Snaps have also been criticized for not following the theme of the desktop and its automatic upgrades. Also, some people are cautious because snaps are not necessarily made by the software’s authors. Therefore, they don’t consider them 100 percent “official”.
With Focal Fossa, Canonical has replaced the Ubuntu software application with a version that installs Snaps by default. What does that mean for you?
What’s new in Ubuntu 20.04 LTS “Focal Fossa”
The Ubuntu Software Center
We can use that
df Command to list the
SquashFS File systems mounted on your computer. We’ll use that
-t (Type) option too Limit the output to the file systems we’re interested in:
df -t squashfs
We then use the
snap list command to list the installed snaps:
There are two snaps for the GNOME desktop, two for the core Snap functionality, one for GTK themes, and one for the Snap Store. Of course it is
snap-store Using it is a breeze too.
Here’s the thing: if you have the
snap-store Command in a terminal window is the launched application the Ubuntu software.
Of course, you would normally run the Ubuntu software application by clicking the icon. We’re launching it from the command line to demonstrate that beneath the surface now that’s what it is
The Ubuntu software application looks exactly as you would expect. You can search for the same software as before.
Let’s find and install the application “sqlitebrowser”. The results screen shows the details of the application and a screenshot. Choose Install to install the software.
If you didn’t know, you wouldn’t suspect the changes under the hood. Scroll down and you’ll see some new, Snap-specific information.
The “Details” list contains the following information:
- channel: The channel from which the installation is pulling the application.
- execution: The software version.
- License: The license type.
- developer: The person who created the Snap or the people who wrote the application.
- source: The source the Snap will be downloaded from (snapcraft.io is Canonical’s Snapcraft Snap Store).
- Download size: The size of the snap file.
The channel can be one of the following:
- Stable: The standard that contains the most stable and reliable packages.
- candidate: This channel is less stable, but very close as it contains release candidate level software.
- beta: This channel has late-cycle quality but cannot be guaranteed to be stable.
- Edge: For early build testers and the curious. You shouldn’t use this channel for important things.
After the installation is complete, we can again check the list of installed Snaps:
The new entry is listed below. Let’s start the program:
Everything about the application works fine, although the user interface looks out of date. The shaped pseudo-3D surface elements remind you of the GUIs of yesterday. This is not common with all snapshots, but it is noticeable here example.
How to work with snap packages on Linux
Installation from the command line
Nothing changes when installing applications from the command line. You still have access to the
snap Command line tool so that you can install and uninstall Snaps from a terminal window. the
apt-get Installation command and
apt, the apt-get wrapper, are also still there.
Let’s install the same application from the command line. Since the version installed above is a no-brainer, they will not affect each other in any way:
sudo apt-get install sqlitebrowser
Let the installation complete. Press the Super key and enter “sqlitebrowser”. After you have entered a few characters, you will see two versions of the program on your computer.
Fire them both up.
As you can see we have two different versions installed and running at the same time.
The version on the back of the image is the one we installed from the command line, and the version in front is the one in the snap:
apt-getVersion is version 3.11.2.
snapVersion is 3.11.99.
Despite appearances, the command line version is the older one. Regardless of this, it goes without saying that the two versions exist side by side and run well together. So, Snaps do what they’re supposed to by delineating different versions of the same application.
Even installing applications from the command line using
apt-get is as always and is not affected at all by Snaps.
Which one should you use?
Do you even care what type of application you are using? If not, go with snapshots.
If any of the following are deal breakers (or more of them add up to one), avoid the Ubuntu software application and install your applications the traditional way:
- Snaps load more slowly. This will be more noticeable on old hardware.
- Snaps take up more disk space.
- Snaps are updated automatically.
- Snaps may not match your installed themes.
- Snaps are not always “official”. They are often built by well-meaning volunteers.
If your computer is reasonably modern, the speed difference between starting a Snap and starting a regular application won’t be great. The biggest loss of time we noticed was during the installation. The Snaps took much longer to download. After the files were downloaded, the installation was quick enough. However, downloading is a one-time task so you don’t have to deal with it every day.
Even if you think Snapshots are the future and you are ready to embrace them with all your heart, you can’t go all in with them. Some applications are not available in snap form. In these cases, you will still need to install it from the command line.
Clearly, Canonical is nailing its colors to the mast with this step. As for the Ubuntu developers, Snaps are here to stay. As always, you can either use them, ignore them, or use a hybrid system that combines snapshots and traditional DEB-based installations.