In this article, let’s learn, discuss and compare with itsmeit the difference between Snap vs APT on Ubuntu | Linux. Should we use snap to install applications and software or should we use the APT package manager?
Snap and APT Overview on Ubuntu Linux
Compared to other operating systems such as Windows or macOS… Linux also has a way to approach and manage software and applications. Software in Linux has traditionally been organized into repositories. Repositories contain applications and all the dependencies (dependencies) needed to run them.
Using repositories is very convenient, however, sometimes it often baffles non-tech-savvy users specifically Ubuntu. Snap package was then born to make the Linux (Ubuntu) experience more user-friendly.
What is Snap on Linux?
First, to learn about the difference between Snap and APT on Ubuntu, itsmeit will tell you what Snap is?. Snap is a system of self-contained packages called
snaps to make software available to users. Snaps encapsulate all the dependencies required by the program in a single package. In this way, the application is system agnostic, which means it can run natively on any Linux distribution that supports Snap.
What is APT on Linux Ubuntu?
APT (Advanced Package Tool): Unlike Snap, APT on Ubuntu (Linux) is a package manager for installing and removing packages on Debian-based systems. APT automates the process of retrieving, configuring, upgrading, installing, and removing packages. APT is the user interface of Debian’s base package management system dpkg.
One of the main benefits of APT is the way it handles software dependencies. After the user gives the command to install a package, APT searches the repositories for the package’s dependencies and installs those that are not already installed on the system.
The tool that APT mainly uses to communicate with users is
apt-cache but it requires you to have knowledge of Linux (Ubuntu) technology to manage and install packages. You can learn more about the difference between Apt and Apt-get here.
Snap vs APT on Ubuntu: What’s the Difference?
File Format (Snap)
Snap uses a file (.snap), which is available for installation in the Snap Store or on their developer’s website. The file (.snap) includes an application, its dependencies, and metadata in the SquashFS compressed file system.
Snap applications are packaged, similarly to how Docker packages its containers. However, unlike Docker containers, snap applications have limited access to the host system, mainly for storing system usage and configuration files.
File Format (APT)
APT uses files (.deb) from the online software repositories for each Linux distribution that supports them. The .deb file is a Unix archive, consisting of two tar archives. One archive contains the control information, while the other contains the files (files) used to install the package.
So Snap vs APT on Ubuntu are different in terms of package format and management.
Snap and APT. package sizes
Snaps are standalone, resulting in a relatively large .snap file. When the user installs the snap, the file is unzipped and mounted as a read-only repeat device in the home directory.
As for APT, when an application is installed with APT is smaller than its snap application because it does not need to package dependencies.
When comparing the size between Snap and APT on Ubuntu, they also differ in package size and management.
Snap compresses the dependencies within it. Although this approach negatively affects package size, the main benefit is that users always have a supported and tested version of the file (.snap).
APT uses dependency sharing. When the user issues the apt install command, APT will read the list of dependent packages, check if the system has installed some packages, and install the missing packages. This technique preserves memory and requires less space than snap.
When analyzing the dependencies between Snap and APT on Ubuntu, it shows that in terms of installation package size, APT dominates.
Snap vs Apt: Performance Comparison
After installation and the first run, there is no difference in performance between apps installed using Snap or Apt. But snap repositories are much larger because they include all the dependencies, so the download and first run with snap will take longer.
Snap with Apt: Manage Updates
Snap and Apt don’t handle updates the same way. Snaps updates are checked automatically 4 times a day and updated as soon as a new version is available.
With Apt, you keep control of the update process, normally APT will manage packages in /etc/apt/sources.list and (sources.list.d). So you can remove packages you don’t want to update and only when you run the apt update, upgrade commands will the applications be updated.
Snap vs Apt which is more secure?
Snap and Apt use different security measures, Snap’s advantage is to install a new application in a limited space, with less risk of damaging your system.
With >APT if you use officially distributed repositories you will be safe, each repository is certified secure, and trusted. A series of developers from the distribution organization will review the code of each update, sometimes testing the application for a long time in the “beta” distribution, before releasing it. So the stable version is finally available with the apt upgrade, it should be safe to install.
The pros and cons of using Snap
- Automatic updates are available quickly.
- Easier for beginners with Linux, not have much experience or knowledge about Linux (Ubuntu).
- There are no dependency issues as it is compressed to (.snap) with package dependencies.
- Might be more secure since the app is limited to a separate partition.
- Takes more space on the drive than APT
- Takes longer to download and install
- The file locations after being installed are different.
- There is no way to control the updates.
- Not available on all Linux distributions nor available in architectures compared to APT.
The pros and cons of using APT
- Better overall GUI integration.
- Easily track documentation, log logs, and manage packages, and repositories, because files are located in the correct path (/etc, /var/log, etc.).
- Maybe more secure as the app is verified by the distribution maintainer.
- Dependent: Applications and software sometimes require different version dependencies, so errors or difficulties may be encountered when installing multiple software applications with similar functionality.
- A bit overwhelming for beginners/non-tech-savvy Linux (Ubuntu) users.
Finally, Snap vs APT on Ubuntu (Linux) which one should you choose?
Snap is recommended especially for Linux beginners who want an easy way to install applications and update them. It’s a personal choice, if you have enough disk space and want the latest version then Snap is probably the perfect fit for you.
As for itsmeit.co personally, I still use both Snap and APT, but I still prefer APT, apt is generally better for advanced users who have knowledge and experience in using Linux operating systems, and want to keep control of everything on the computer or server.
What about you? If like me, you’re used to APT, you might be wondering if you should switch to Snap and why. The goal of this article is exactly that, you will discover the real difference between APT and SNAP and which one you should use.