< Previous | Contents | Next >
1.1. A Bit of History
The Kali Linux project began quietly in 2012, when Offensive Security decided that they wanted to replace their venerable BackTrack Linux project, which was manually maintained, with something that could become a genuine Debian derivative3, complete with all of the required infrastructure and improved packaging techniques. The decision was made to build Kali on top of the Debian dis- tribution because it is well known for its quality, stability, and wide selection of available software. That is why I (Raphaël) got involved in this project, as a Debian consultant.
The first release (version 1.0) happened one year later, in March 2013, and was based on Debian 7 “Wheezy”, Debian’s stable distribution at the time. In that first year of development, we pack- aged hundreds of pen-testing-related applications and built the infrastructure. Even though the number of applications is significant, the application list has been meticulously curated, drop- ping applications that no longer worked or that duplicated features already available in better programs.
During the two years following version 1.0, Kali released many incremental updates, expanding the range of available applications and improving hardware support, thanks to newer kernel re- leases. With some investment in continuous integration, we ensured that all important packages
1https://www.kali.org 2https://www.debian.org 3https://wiki.debian.org/Derivatives/Census
were kept in an installable state and that customized live images (a hallmark of the distribution) could always be created.
In 2015, when Debian 8 “Jessie” came out, we worked to rebase Kali Linux on top of it. While Kali Linux 1.x avoided the GNOME Shell (relying on GNOME Fallback instead), in this version we decided to embrace and enhance it: we added some GNOME Shell extensions to acquire missing features, most notably the Applications menu. The result of that work became Kali Linux 2.0, published in August 2015.
GNOME is Kali Linux’s A desktop environment is a collection of graphical applications that share a common Default Desktop graphical toolkit and that are meant to be used together on user workstations. Desk- Environment top environments are generally not used in servers. They usually provide an applica-
tion launcher, a file manager, a web browser, an email client, an office suite, etc.
GNOME4 is one of the most popular desktop environments (together with KDE5, Xfce6, LXDE7, MATE8) and is installed on the main ISO images provided by Kali Linux. If you dislike GNOME, it is easy to build a custom ISO image with the desktop en- vironment of your choosing. Instructions to do so are covered later in this book in chapter 9, “Advanced Usage” [page 222].
GNOME is Kali Linux’s A desktop environment is a collection of graphical applications that share a common Default Desktop graphical toolkit and that are meant to be used together on user workstations. Desk- Environment top environments are generally not used in servers. They usually provide an applica-
tion launcher, a file manager, a web browser, an email client, an office suite, etc.
GNOME4 is one of the most popular desktop environments (together with KDE5, Xfce6, LXDE7, MATE8) and is installed on the main ISO images provided by Kali Linux. If you dislike GNOME, it is easy to build a custom ISO image with the desktop en- vironment of your choosing. Instructions to do so are covered later in this book in chapter 9, “Advanced Usage” [page 222].
In parallel, we increased our efforts to ensure that Kali Linux always has the latest version of all pen-testing applications. Unfortunately, that goal was a bit at odds with the use of Debian Stable as a base for the distribution, because it required us to backport many packages. This is due to the fact that Debian Stable puts a priority on the stability of the software, often causing a long delay from the release of an upstream update to when it is integrated into the distribution. Given our investment in continuous integration, it was quite a natural move to rebase Kali Linux on top of Debian Testing so that we could benefit from the latest version of all Debian packages as soon as they were available. Debian Testing has a much more aggressive update cycle, which is more compatible with the philosophy of Kali Linux.
This is, in essence, the concept of Kali Rolling. While the rolling distribution has been available for quite a while, Kali 2016.1 was the first release to officially embrace the rolling nature of that distribution: when you install the latest Kali release, your system actually tracks the Kali Rolling distribution and every single day you get new updates. In the past, Kali releases were snapshots of the underlying Debian distribution with Kali-specific packages injected into it.
A rolling distribution has many benefits but it also comes with multiple challenges, both for those of us who are building the distribution and for the users who have to cope with a never-ending flow of updates and sometimes backwards-incompatible changes. This book aims to give you the knowledge required to deal with everything you may encounter while managing your Kali Linux installation.
4https://www.gnome.org 5https://www.kde.org 6http://www.xfce.org 7http://lxde.org 8http://mate-desktop.org