Erstellt offizielle Kali Linux Installer-ISO-Images mit simple-cdd und debian-cd, unterstützt mehrere Architekturen, Varianten, Mirrors und containerisierte Builds.
Kali Linux Installer-ISO-Builder, via simple-cdd (mit debian-cd).
Dies sind dieselben Build-Scripts, die das Kali-Team verwendet, um die offiziellen Kali Linux Basis-Images zu erzeugen, die auf kali.org/get-kali/ zu finden sind.
Diese Images können verwendet werden, um Kali mit verschiedenen Anpassungen während der Einrichtung von einer CD/DVD/Blu-ray/USB/sdCard zu installieren. Um Live zu booten (z. B. Kali auszuprobieren, ohne ein vorhandenes Betriebssystem zu verändern), siehe kali-live:
Baue dein Kali noch heute!
Wir empfehlen, auf einem Linux-basierten Host zu bauen, der der gewünschten Architektur entspricht.
Es gibt verschiedene Möglichkeiten, das kali-installer Build-Script nutzungsbereit zu machen. Du kannst entweder:
build.sh - Direkt von deiner Maschine bauenbuild-in-container.sh - Aus einem Container heraus bauen (wie Docker oder Podman) Damit build.sh funktioniert, ist Superuser-Zugriff erforderlich (z. B. sudo oder ein rootful Container). KVM ist jedoch nicht erforderlich.
Installiere zuerst git und stelle sicher, dass das Repository lokal geklont ist:
$ sudo apt-get install --no-install-recommends \
git ca-certificates
$ git clone https://gitlab.com/kalilinux/build-scripts/kali-installer.git
$ cd ./kali-installer/
Um direkt auf deinem Host mit build.sh zu bauen, installiere die Build-Abhängigkeiten:
$ sudo apt-get install --no-install-recommends \
simple-cdd debian-cd \
cpio \
mtools \
dosfstools \
xorriso
Jetzt können Sie ./build.sh verwenden, das ein Kali-Installer-ISO direkt auf Ihrer Maschine erstellt.
Wenn Sie NICHT Kali als Basis-Betriebssystem verwenden, müssen Sie Kalis kali-archive-keyring installieren, damit simple-cdd Kalis Pakete abrufen kann.
$ sudo apt-get install --no-install-recommends \
wget ca-certificates
$ wget https://http.kali.org/pool/main/k/kali-archive-keyring/kali-archive-keyring_20YY.X_all.deb
$ sudo apt-get install ./kali-archive-keyring_*_all.deb
$ wget https://http.kali.org/pool/main/d/debian-cd/debian-cd_*_all.deb
$ sudo apt-get install ./debian-cd_*_all.deb
HINWEIS: Ersetzen Sie 20YY.X durch die Werte, die hier, in kali-archive-keyring, angezeigt werden.
Je nachdem, wann Sie dies ausführen, benötigen Sie möglicherweise auch eine bestimmte Version von simple-cdd (Package Tracker: Debian/Kali) und/oder debian-cd (Package Tracker: Debian/Kali).
Nun können Sie Build From The Host (Kali) folgen, um die Build-Abhängigkeiten zu installieren.
Wir überspringen die Einrichtung jeglicher Container-Software.
Wenn Sie lieber aus einem Container heraus bauen möchten, müssen Sie entweder docker oder podman auf Ihrem Rechner installieren und konfigurieren.
docker erfordert, dass der Benutzer zur Docker-Gruppe hinzugefügt wird oder das Root-Konto verwendet wird (z. B. $ sudo ./build-in-container.sh).podman wurde mit rootful getestet (z. B. $ sudo ./build-in-container.sh), rootless wird derzeit jedoch nicht unterstützt.build-in-container.sh ist ein Wrapper auf Basis von build.sh. Es erkennt, welche OCI-konforme Container-Engine verwendet werden soll, kümmert sich um die Erstellung des Container-Images, falls es fehlt, und startet dann den Container, um den Build von innen heraus durchzuführen.
Sie haben drei Möglichkeiten, das Container-Image bereitzustellen:
$ # Option #1 - Automated build (recommended)
$ ./build-in-container.sh
$ ./build-in-container.sh --force # If you need to rebuild the image from scratch
$
$
$
$ # Option #2 - Manual build
$ docker build -t kali-build/kali-installer .
$ # ...OR...
$ podman build -t kali-build/kali-installer .
$
$
$
$ # Option #3 - Use the pre-generated
$ docker pull registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest
$ docker tag registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest kali-build/kali-installer
$ # ...OR...
$ podman pull registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest
$ podman tag registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest kali-build/kali-installer
$
$ # ...then point the build at it:
$ ./build-in-container.sh # Locally built (automated or manual)
$ IMAGE=registry.gitlab.com/kalilinux/build-scripts/kali-installer:latest ./build-in-container.sh # Pre-generated
Wenn Sie sowohl docker als auch podman installiert haben, verwendet build-in-container.sh standardmäßig podman. Um dies zu ändern, stellen Sie CONTAINER=docker vor ./build-in-container.sh:
$ CONTAINER=docker ./build-in-container.sh [...]
Jetzt können Sie ./build-in-container.sh (statt ./build.sh) verwenden, um ein Image zu erstellen.
$ ./build.sh --help
Usage: build.sh [OPTIONS]
Build a Kali Linux Installer image.
Build options:
-a, --arch ARCH Build an image for this architecture (default: amd64)
Supported: amd64 arm64 armhf
-b, --branch BRANCH Kali branch used to build the image (default: kali-rolling)
Supported: kali-rolling kali-dev kali-last-snapshot
-k, --keep Keep intermediary build artifacts
-m, --mirror URL Mirror used to build the image (default: http://http.kali.org/kali)
-o, --output DIR Output directory (default: /home/kali/kali-installer/output)
-v, --variant VARIANT Variant of image to build (default: default)
Supported: default everything netinst purple
-x, --version VERSION What to name the image release as (default: rolling)
-h, --help Show this help and exit
Installer options:
-H, --hostname HOSTNAME Set system host name (default: kali)
-P, --packages PKGS Install extra packages (comma/space separated list)
Apt caching proxy:
Auto-detected: localhost:3142 (apt-cacher-ng), localhost:8000 (squid-deb-proxy).
If detected and http_proxy is not set, http_proxy is exported automatically.
Supported environment variables:
http_proxy HTTP proxy URL, see README.md for details
DEBUG Print extra debug output
Any --flag value can be pre-set via its env var (e.g. ARCH, BUILD_MIRROR, OUT_DIR)
Examples:
build.sh
build.sh --branch kali-rolling
build.sh -b kali-dev -v netinst -a arm64