Kali Linux Meta-packages
What are meta-packages in Kali Linux for?
Meta-packages are empty packages that only describe dependencies. They facilitate the installation of a collaborative group of programs previously selected by the maintainer of the meta-package; thus the command
apt install META-PACKAGE
will automatically install all of these programs using the META-PACKAGE dependencies. The kali-desktop-gnome, kali-desktop-kde, and kali-linux-default packages are examples of meta-packages.
Meta-packages are used to install multiple packages at the same time, created as a list of dependencies on other packages. Kali Linux uses them in several ways. One way is to let users decide how many packages from the general Kali list they would like to install. Need to install packages just to run Linux itself? Do you want packages that are enough to run a penetration test in a specific area? Perhaps you want to install all the packages that Kali comes with? Meta-packages can help you with any of these tasks.
Meta-packages and Virtual Package
It is important to clearly distinguish between metapackages and virtual packages. The former are real packages (including real .deb files) whose sole purpose is to express dependencies.
Virtual packages, however, do not physically exist; they are only a means of identifying real packages based on common logical criteria (for example, services provided or compatibility with a standard program or an existing package). Sometimes virtual packages are used as short, handy, or commonly used aliases for real packages.
List of Kali Linux Metapackages
- kali-linux-core: A basic Kali Linux system – basic elements that are always present in any installation
- kali-linux-default: The “standard” system images that you can download from the download page (AMD64/i386) include the tools of these images
- kali-linux-light: Used to create an image of Kali-Light, a light version of the system
- kali-linux-arm: All tools suitable for ARM devices
- kali-linux-nethunter: Tools used as part of Kali NetHunter
Desktop environments/window managers
Desktop environments are full-fledged graphical shells like GNOME, Cinnamon, KDE, XFCE and others.
Window managers perform only some functions of the graphical interface, in fact, they only allow you to open several windows, add a desktop background, and can have a simple menu. Due to this simplicity, window managers consume a minimum of resources. But from the point of view of user convenience, they are inferior to a full-fledged desktop environment
- kali-desktop-core: Any key tools needed to display the GUI.
- kali-desktop-e17: Enlightenment (window manager)
- kali-desktop-gnome: GNOME (desktop environment)
- kali-desktop-i3: i3 (window manager)
- kali-desktop-kde: KDE (desktop environment)
- kali-desktop-lxde: LXDE (window manager)
- kali-desktop-mate: MATE (desktop environment)
- kali-desktop-xfce: XFCE (window manager)
- kali-tools-gpu: Tools that work best when you have access to GPU computing
- kali-tools-hardware: Hardware Hacking Tools
- kali-tools-crypto-stego: Tools based on cryptography and steganography
- kali-tools-fuzzing: For fuzzing protocols
- kali-tools-802-11: 802.11 (commonly known as “Wi-Fi”)
- kali-tools-bluetooth: For targeting Bluetooth devices.
- kali-tools-rfid: RFID tools
- kali-tools-sdr: Software-Defined Radio Tools
- kali-tools-voip: Voice over IP tools
- kali-tools-windows-resources: Any programs that can run on Windows hosts.
Menu-based tool sets
All tools in Kali Linux are structured in menus and sub-menus. Menus are a convenient way to learn about a new tool, but practically useless from the point of view of running utilities, since most of them have a command line interface.
Meta-packages are also generated from these carefully sorted lists.
When installing a meta-package, the corresponding menu item will be created automatically, and relevant programs will also be automatically placed in it.
- kali-tools-information-gathering: Used for open source intelligence (OSINT) and information gathering
- kali-tools-vulnerability: Tools for finding vulnerability
- kali-tools-web: Designed to attack web applications
- kali-tools-database: Selected tools for any database attacks
- kali-tools-passwords: Useful for password cracking attacks – online and offline brute force
- kali-tools-wireless: all tools based on wireless protocols – 802.11, Bluetooth, RFID and SDR
- kali-tools-reverse-engineering: To reverse engineer binaries
- kali-tools-exploitation: Typically used to exploit found vulnerabilities
- kali-tools-social-engineering: Designed to perform social engineering techniques
- kali-tools-sniffing-spoofing: Any tools designed for sniffing and spoofing (man-in-the-middle attack).
- kali-tools-post-exploitation: Post-exploitation tools (backdoors, stealth shells, etc.)
- kali-tools-forensics: Digital Forensics Tools – Real Time and Offline
- kali-tools-reporting: Reporting tools
- kali-linux-large: Previous default tools for AMD64/i386 images
- kali-linux-everything: All the meta-packages and tools listed here
- kali-tools-top10: Most used tools (10 tools in total)
- kali-desktop-live: Used during live session when booting from image
Meta-packages for courses
Tools used for Offensive Security courses,
- offsec-awae: Advanced Web Attacks and Exploitation
- offsec-pwk: Penetration Testing with Kali
Meta-packages kali-linux, kali-desktop-common and kali-linux-*
The meta-packages kali-linux, kali-desktop-common, as well as all metapackages of the form kali-linux-* have been renamed and the old names are no longer used. If you come across them, then you are reading an outdated source.
How to install a meta-package
To install any meta-package, use a command like this:
sudo apt install META-PACKAGE1 [META-PACKAGE2] ...
One or more meta-packages can be installed at a time.
How to see which programs are included in the meta-package
To find out which programs are included in the meta-package, use a command like:
apt depends META-PACKAGE
apt depends kali-tools-wireless
Be aware that other meta-packages may be present in the output of this command!
Another way to check which programs make up the meta-package is to visit https://tools.kali.org/kali-metapackages, which lists the available meta-packages and shows the programs included in them.
Meta-packages for WSL (Windows Subsystems for Linux)
By default, no Kali Linux tools are included in the WSL image. This is done to keep the image as small as possible. Optionally, you can install any tool from the Kali Linux repository or use the meta-packages.
You can set the tool categories you need using the meta-packages described above.
For example, a set with the most popular tools for most users
sudo apt install kali-tools-information-gathering kali-tools-vulnerability kali-tools-web kali-tools-password kali-tools-exploitation
The easiest way to get most of the tools is to install the kali-linux-large metapackage with the following command:
sudo apt install kali-linux-large
In WSL, you don't need tools from the following meta-packages (due to lack of access to hardware):
- kali-tools-wireless (all wireless attacks)
- kali-tools-802-11 (Wi-Fi attacks)
- kali-tools-bluetooth (Bluetooth attacks)
- kali-tools-gpu (currently there is no access to compluting using a video card, but they promise to add it)
- kali-tools-sniffing-spoofing (sniffing and spoofing is also not possible due to the fact that the WSL Linux images run on their own virtual network).
Making your own Kali Linux Metapackages
You can create and use your own metapackages to deploy the right environment for you. See “Making your own Kali Linux Metapackages” for details.
- How to install a package for which there is no dependency of the required version (in Kali Linux, Debian) (89.9%)
- Error "E: Could not access the lock file /var/lib/dpkg/lock" in Kali Linux (SOLVED) (63.4%)
- Kali Linux updating troubleshooting (63.4%)
- How to install Kali Linux with Win-KeX (GUI) in WSL2 (Windows Subsystem for Linux) (60.9%)
- WSL (Windows Subsystem for Linux): Hints, How-Tos, Troubleshooting (60.9%)
- How to brute-force passwords using GPU and CPU in Linux (RANDOM - 51.2%)