GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Meine benutzerdefinierte Kali-Linux-Distribution

Wir lieben es, wenn Community-Mitglieder mit neuen Ideen oder interessanten Builds kommen, und dieses hat unsere Aufmerksamkeit erregt. Jacek Kowalczyk hat uns auf Twitter mit einer wirklich interessanten Geschichte angesprochen. Sein Ansatz, Kali an seine Bedürfnisse anzupassen, ist genau der Grund, warum diese Funktion für uns so wichtig ist, und wir wollten seine Geschichte weiter verbreiten.

Jaceks Live-Build-Rezept war für eine leichte Version von Kali mit seinen bevorzugten Desktop-Umgebungen, einschließlich einiger netter Desktop-Konfigurationen. Wir dachten, es wäre das Beste, Jacek seinen Prozess Schritt für Schritt mit Ihnen teilen zu lassen, in seinen eigenen Worten:

Jaceks Geschichte

Ich habe viel Zeit damit verbracht, nach einer Linux-Distribution zu suchen, die für meine Bedürfnisse am besten geeignet ist. Ich wollte ein sehr leichtes System und habe eine Menge Varianten getestet (Manjaro, Debian, Ubuntu, Sparky, MX Linux, Antix, Arch, Anarchy, Antergos, Archlabs, Bunsen Labs und viele mehr). Ich habe auch verschiedene Desktop-Umgebungen getestet, um meine richtige Lösung zu finden (Xfce, LXDE, Mate, LXqt, i3, openbox, fluxbox, jwm und IceWM). Trotz dieser ausführlichen Tests war ich immer noch nicht zufrieden.

Es wurde klar, dass ich für meine Bedürfnisse ein Rolling-Release-Linux brauchte, das nicht nur leichtgewichtig war, sondern auch guten Support von einem Unternehmen oder einer Community hatte. Ich habe eine lange Liste meiner Lieblings-Linux-Distributionen erstellt, konnte mich aber immer noch nicht entscheiden.

Ich wollte schon immer an einem Open-Source-Projekt teilnehmen und ein wenig entwickeln. Mir kam der Gedanke, dass meine Lösung darin bestehen könnte, einfach mein eigenes Setup zu erstellen – ich könnte eine Linux-Distribution nehmen, ein Basisbetriebssystem installieren und es anpassen. Zunächst schien dies eine großartige Option zu sein. Aber was würde passieren, wenn ich neu installieren müsste? Ich wollte nicht noch einmal mit der Anpassung meines installierten Systems beginnen müssen.

Ich wusste, dass ich ein ISO erstellen wollte, mit dem ich mein System jederzeit und überall installieren konnte. Es wäre perfekt auf meine Bedürfnisse zugeschnitten, frisch aus der Installation. Aus diesem Grund begann ich, nach Möglichkeiten zu suchen, Debian, Arch oder Manjaro anzupassen. Dies führte mich zu den Live-Build-Konfigurationsskripten von Kali Linux. An diesem Punkt wusste ich, dass ich meine Lösung gefunden hatte.

Kali Linux ist eine rollende Distribution, die auf Debian basiert und vom Offensive Security-Team sowie einer aktiven Community großartig unterstützt wird. Ich habe auch vorhandene Skripte für i3wm gefunden, die vom Kali-Team bereitgestellt wurden. Das war mein Ausgangspunkt. Ich fing an, mit der Liste der benutzerdefinierten Pakete zu spielen und später mit einigen Chroot-Dateien, die in die ISO aufgenommen werden sollten. In diesem Prozess habe ich über 20 ISO-Images generiert, bis ich eines hatte, mit dem ich zufrieden war. Selbst jetzt verbessere ich es noch immer.

Lassen Sie mich erklären, wie ich zwei Varianten von Kali Linux erstellt habe – eine mit i3wm und eine mit Openbox Window Manager.

Benutzerdefiniertes Kali Linux mit i3wm oder Openbox

Ich habe mein erstes Setup basierend auf der offiziellen Kali-Dokumentation für live-build-config durchgeführt. Dieser Prozess war:

  1. Installieren Sie Kali Linux. Verwenden Sie ein beliebiges offizielles Kali-Bild.
  2. Zusätzliche Pakete installieren.
  3. Fangen Sie an, i3wm/Openbox-Varianten zu hacken. Ich habe diese anfangs als zwei separate Builds behandelt, um die Dinge für mich sauberer zu halten. Ich habe doppelt so viel Arbeit gemacht, aber es war einfacher nachzuverfolgen.
[email protected]:~# apt install curl git live-build cdebootstrap
[email protected]:~# git clone git://gitlab.com/kalilinux/build-scripts/live-build-config.git
...
[email protected]:~# cd live-build-config/kali-config
[email protected]:~/live-build-config/kali-config# ls
common variant-e17 variant-i3wm variant-light variant-mate
variant-default variant-gnome variant-kde variant-lxde variant-xfce

Für i3 habe ich damit begonnen, meine Modifikationen in der bestehenden variant-i3wm vorzunehmen Mappe. Für Openbox habe ich die variant-i3wm kopiert Verzeichnis nach variant-openbox und fügte meine Änderungen hinzu

[email protected]:~/live-build-config/kali-config# cp -r variant-i3wm variant-openbox

Damit war der nächste Schritt, die Datei kali-config//package-lists/kali.list.chroot zu bearbeiten um die erforderlichen Pakete hinzuzufügen, die ich wollte. Meine Paketliste für i3wm finden Sie hier und für Openbox hier. Alle Konfigurationsdateien für die Live-CD sollten nach kali-config/common/includes.chroot/root/ kopiert werden . Dieses Verzeichnis wird verwendet, da die Livecd-Umgebung als Root-Benutzer ausgeführt wird.

Alle Konfigurationsdateien für das installierte Dateisystem sollten nach kali-config/common/includes.chroot/etc/skel/ kopiert werden . Die Datei /etc/skel Das Verzeichnis wird häufig als Vorlage zum Erstellen von Benutzer-Home-Verzeichnissen verwendet, sodass jeder neue Benutzer standardmäßig über die Dateien verfügt, die sich in diesem Verzeichnis befinden.

Stickstoff ist eine Anwendung zum Einrichten von Hintergrundbildern. Die Datei .config/nitrogen/bg-saved.cfg definiert das eingestellte Hintergrundbild. Die zweite Datei .config/nitrogen/nitrogen.cfg ist die Hauptkonfigurationsdatei für Stickstoff und definiert die Verzeichnisse, in denen sich die Hintergrundbilder befinden. Diese habe ich jeweils an meine Vorlieben angepasst. Damit habe ich dann auch das Power Manager-Applet optimiert, indem ich .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml konfiguriert habe .

Darüber hinaus habe ich eine Reihe anderer Anpassungen vorgenommen, um das System ein wenig mehr zu personalisieren. Ohne zu sehr ins Detail zu gehen, waren sie:

  • Für i3wm

    • kali-config/common/includes.chroot/root/.i3wm_conkyrc - Konfiguration für Conky-Tool. Diese conkyrc-Datei basiert auf der conky-Konfiguration von Sparky Linux

    • kali-config/common/includes.chroot/root/.config/i3/config - Die Konfigurationsdatei für i3wm wurde für mich bei der ersten Anmeldung bei der i3wm-Sitzung generiert, und ich habe einige Änderungen hinzugefügt, um andere Tools wie Stickstoff, Clipit, Lautstärkeregelung automatisch zu starten, und meine Tastenbelegungen für meine Tools und Aktionen (Ausschalten und Neustart).

  • Für Openbox

    • kali-config/common/includes.chroot/root/.openbox_conkyrc - Konfiguration für conky. Die openbox conkyrc unterscheidet sich von der für i3wm. Dieser basiert auf der conkyrc-Datei von CrunchBang++.

    • kali-config/common/includes.chroot/root/.config/openbox/autostart - Openbox-Autostart-Datei definiert, welche Tools und Anwendungen automatisch mit einer Openbox-Sitzung gestartet werden sollen:(Stickstoff, Clipit, Volume Vontrol, Power Manager, Conky). Ich habe es auch auf der Datei von CrunchBang++ basiert.

    • kali-config/common/includes.chroot/root/.config/openbox/menu.xml - Dies ist die Openbox-Menükonfiguration, die steuert, was passiert, wenn Sie mit der rechten Maustaste auf den Desktop klicken. Openbox ist wirklich einzigartig, da diese Datei vollständig benutzergesteuert ist und Sie darin Skripte ausführen und andere Dinge tun können, wie Anwendungen starten oder sogar den Status der Media Player-Anwendung im dynamischen Pipe-Menü anzeigen können. Openbox ist wirklich mächtig.

    • kali-config/common/includes.chroot/root/.config/openbox/rc.xml - Themen und Tastenkombinationen für den Openbox-Fenstermanager. Das ist ziemlich viel, aber ich habe dort meine Tastenbelegungen für meine bevorzugten Tools und Aktionen wie Ausschalten und Neustarten hinzugefügt.

    • kali-config/common/includes.chroot/root/.config/tint2/tint2rc - Tint2-Bedienfeldeinstellungen und Startprogramme. Hier habe ich meine am häufigsten verwendeten Tools hinzugefügt:Terminal, Editoren, Webbrowser. Um diese Datei zu bearbeiten, habe ich die GUI-Anwendung tint2conf verwendet. Mit dieser Anwendung können Sie ganz einfach die Themen des tint2-Panels definieren und Launcher und andere Elemente des Panels hinzufügen.

Alle Änderungen für i3wm finden Sie hier und Openbox finden Sie hier.

Ich habe auch den Browser Firefox Developer Edition hinzugefügt, indem ich das Installationspaket heruntergeladen und in kali-config/common/includes.chroot/opt/firefox/ entpackt habe und fügte dann den Toxic-Tox-Client zu kali-config/common/includes.chroot/opt/toxic hinzu . Um Firefox zu starten, habe ich auch das Shell-Skript kali-config/common/includes.chroot/usr/bin/firefox.sh hinzugefügt .

#!/bin/bash
echo "Starting firefox developer edition"
/opt/firefox/firefox
  1. Erstellen Sie die ISOs

Nachdem all diese Konfiguration erledigt war, war es Zeit für den lustigen Teil, das Erstellen der ISOs!

[email protected]:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant i3wm --verbose
[email protected]:~/live-build-config/kali-config# ./build.sh --distribution kali-rolling --variant openbox --verbose

Wenn diese liefen, musste ich dann nur noch warten, bis der Job fertig war. Bei mir hat es etwa 3 Stunden gedauert. Die erzeugten ISO-Dateien wurden in den Bildern gespeichert Unterordner.

Endversion

In der endgültigen Version der Konfigurationen habe ich mich entschieden, meine i3wm-Installation auf meinen Openbox-Build zu portieren. Auf diese Weise erhalte ich beim Erstellen der Openbox-Konfiguration beide Fenstermanager, Openbox und i3. Auf dem Anmeldebildschirm kann ich die gewünschte Sitzung auswählen. Offensichtlich ist es viel einfacher, ein „perfektes“ ISO zu haben, als sich bei der Installation zwischen den beiden entscheiden zu müssen.

Abschluss

Wir mochten Jaceks Ansatz, seine Bedürfnisse zu erkennen und dann keine Angst davor zu haben, einfach einzuspringen und die Änderungen vorzunehmen. Wie viele Dinge unter Linux kann eine benutzerdefinierte Installation einschüchternd sein und wie ein sehr komplexer Prozess aussehen. Aber sobald Sie sich eingefunden und den Prozess gestartet haben, ist es wirklich ziemlich einfach und die Menge an Arbeit, die Sie dadurch sparen können, ist erstaunlich.

Danke an Jacek für all seine harte Arbeit und seine Bereitschaft, sie mit der Community zu teilen. Auf seiner GitLab-Seite können Sie sehen, was Jacek sonst noch so vorhat.


Linux
  1. Verbesserungen der Barrierefreiheit von Kali Linux

  2. Nachwirkungen der Kali Linux-Veröffentlichung

  3. Kali Linux 1.0.7-Veröffentlichung

  4. Kali-Linux-Metapakete

  5. Kali Linux 1.0.6-Veröffentlichung

Härten von Kali Linux

So installieren Sie Kali Linux

Kali-Linux-Download

Kali Linux-Systemanforderungen

Kali Linux gegen Papagei

Installieren Sie Nessus auf Kali und verbessern Sie die Linux-Distribution