Traditional package formats refer to those packages built for a specific system and the user has to install the required dependencies for the package. Far apart from traditional package formats, exists distribution independent package formats whereby applications are bundled with all the required dependencies to install and run an application within a single package. This has helped a lot since these package formats can run on any Linux system that has supported the framework for the package.
Snap, also known as snappy was developed by Canonical as a distribution independent package format, first released in 2014. Snap was originally developed for Ubuntu systems but with time, it was adopted by other distributions such as CentOS, Fedora, Linux Mint, Gentoo, Arch e.t.c
The main objective of developing snap was to create a single unified format for software packages that can run on a variety of devices. With Snap, one can access SnapCraft which is an online app store where one can find and install software packages.
By the end of this guide, you should be able to install Snapd and Use snap on Kali Linux
1. Update your system
Before we can commence on Snapd installation, ensure that all the installed Kali Linux packages are updated to their latest stable versions.
sudo apt update && sudo apt upgrade -y
A reboot is highly recommended whenever an upgrade is performed:
sudo reboot
2. Install Snap on Kalin Linux
Installing Snapd on Kali Linux is a very straightforward process that can be achieved using the single command below.
sudo apt install snapd
Sample Output:
.........
The following NEW packages will be installed:
snapd
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 13.5 MB of archives.
After this operation, 57.4 MB of additional disk space will be used.
Get:1 http://http.kali.org/kali kali-rolling/main amd64 snapd amd64 2.51.7-2+b1 [13.5 MB]
Fetched 13.5 MB in 19s (697 kB/s)
Selecting previously unselected package snapd.
(Reading database ... 310536 files and directories currently installed.)
Preparing to unpack .../snapd_2.51.7-2+b1_amd64.deb ...
Unpacking snapd (2.51.7-2+b1) ...
Setting up snapd (2.51.7-2+b1) ...
snapd.apparmor.service is a disabled or a static unit not running, not starting it.
snapd.recovery-chooser-trigger.service is a disabled or a static unit not running, not starting it.
snapd.seeded.service is a disabled or a static unit not running, not starting it.
snapd.service is a disabled or a static unit not running, not starting it.
snapd.socket is a disabled or a static unit not running, not starting it.
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for man-db (2.10.1-1) ...
Processing triggers for dbus (1.12.20-3) ...
Processing triggers for mailcap (3.70+nmu1) ...
Processing triggers for kali-menu (2021.4.2) ...
Now start and enable the snapd.socket ,Snapd as well as snapd.appamor using the command below.
sudo systemctl enable snapd.socket snapd apparmor
sudo systemctl start snapd.socket snapd apparmor
Check the status of Snapd as below.
$ systemctl status snapd.socket
● snapd.socket - Socket activation for snappy daemon
Loaded: loaded (/lib/systemd/system/snapd.socket; enabled; vendor preset: disabled)
Active: active (listening) since Wed 2022-02-16 07:08:59 EST; 27s ago
Until: Wed 2022-02-16 07:08:59 EST; 27s ago
Triggers: ● snapd.service
Listen: /run/snapd.socket (Stream)
/run/snapd-snap.socket (Stream)
Tasks: 0 (limit: 9444)
Memory: 0B
CPU: 357us
CGroup: /system.slice/snapd.socket
Feb 16 07:08:59 kali systemd[1]: Starting Socket activation for snappy daemon...
Feb 16 07:08:59 kali systemd[1]: Listening on Socket activation for snappy daemon.
Verify the installed version of Snap
$ snap --version
snap 2.51.7-2+b1
snapd 2.51.7-2+b1
series 16
kali 2022.1
kernel 5.15.0-kali3-amd64
To Update Snap’s paths on your system, log out and log in back to your system or alternatively reboot it.
sudo reboot -i
3. Use Snap on Kali Linux 2022.x.
Now we are set to use our installed Snap to install independent package formats on our Kali Linux machine. We will test our installation by installing Telegram Desktop.
Search the package on Snap as below.
snap find telegram-desktop
Sample Output:
Name Version Publisher Notes Summary
telegram-desktop 3.4.3 telegram.desktop - Telegram Desktop
Install the package on snap using the command:
sudo snap install telegram-desktop
Sample Output:
You can also launch the installed package as below.
snap run telegram-desktop
The program will launch as below.
To list all the installed Snap packages use:
$ snap list
Name Version Rev Tracking Publisher Notes
bare 1.0 5 latest/stable canonical✓ base
core20 20211115 1242 latest/stable canonical✓ base
gtk-common-themes 0.1-59-g7bca6ae 1519 latest/stable canonical✓ -
snapd 2.52.1 13640 latest/stable canonical✓ snapd
telegram-desktop 3.2.2 3343 latest/stable telegram.desktop -
4. Update Snap Packages on Kali Linux
Normally, a snap package checks four times a day to track a new version of the installed software. You can change the channel the snap package track by first identifying the channels available for the package.
snap info gtk-common-themes
Sample Output:
As seen there is the tracking channel and several other channels available i.e beta, candidate, and edge.
We can switch tracking to the beta channel as below.
$ sudo snap refresh gtk-common-themes --channel=beta
gtk-common-themes (beta) 0.1-62-g8745644 from Canonical✓ refreshed
Here, in case a new version is available in the beta channel, it will be tracked and automatically installed on your system.
You can list available updates as below.
$ sudo snap refresh --list
All snaps up to date.
In case you have a newer version available for a package, you can force the update manually as below.
$ sudo snap refresh gtk-common-themes
snap "gtk-common-themes" has no updates available
5. Uninstall Snap packages
You can install a snap package using the remove
command.
$ sudo snap remove telegram-desktop
telegram-desktop removed
Conclusion.
This is the end! I hope you too managed to install Snapd and use snap on Kali Linux. Now you can proceed and install desired packages on Kali Linux.