
simple-cdd と debian-cd を使用して公式の Kali Linux インストーラー ISO イメージをビルドし、複数のアーキテクチャ、バリアント、ミラー、コンテナ化されたビルドをサポートします。
Kali Linux インストーラー ISO ビルダー。simple-cdd(および debian-cd)を使用。
これらは、Kali チームが kali.org/get-kali/ で公開されている公式 Kali Linux ベースイメージを生成するために使用しているものと同一のビルドスクリプトです。
これらのイメージは、CD/DVD/Blu-ray/USB/sdCard からセットアップ中にさまざまなカスタマイズを施して Kali をインストールするために使用できます。ライブブート(例:既存のオペレーティングシステムを変更せずに Kali を試す)については、kali-live を参照してください:
今すぐあなたの Kali をビルドしましょう!
目的のアーキテクチャに一致する Linux ベースのホスト上でのビルドを推奨します。
kali-installer ビルドスクリプトを使い始める方法はいくつかあります。以下のいずれかを選択できます:
build.sh - お使いのマシンから直接ビルドbuild-in-container.sh - コンテナ内からビルド (Docker や Podman など) build.sh を動作させるには、スーパーユーザーアクセスが必要です(例:sudo または rootful コンテナ)。ただし、KVM は必要ありません。
まず git をインストールし、リポジトリがローカルにクローンされていることを確認してください:
$ sudo apt-get install --no-install-recommends \
git ca-certificates
$ git clone https://gitlab.com/kalilinux/build-scripts/kali-installer.git
$ cd ./kali-installer/
build.sh を使ってホスト上で直接ビルドするには、ビルド依存関係をインストールします:
$ sudo apt-get install --no-install-recommends \
simple-cdd debian-cd \
cpio \
mtools \
dosfstools \
xorriso
これで、マシン上で直接 Kali インストーラー ISO をビルドする ./build.sh を使用できます。
ベース OS として Kali を使用していない場合は、simple-cdd が Kali のパッケージを取得できるように、Kali の kali-archive-keyring をインストールする必要があります。
$ 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
注意: 20YY.X は kali-archive-keyring のここに示されている値に置き換えてください。
これを実行するタイミングによっては、特定のバージョンの simple-cdd (パッケージトラッカー: Debian/Kali) や debian-cd (パッケージトラッカー: Debian/Kali) も必要になる場合があります。
これで、ホスト (Kali) からのビルドに従ってビルド依存関係をインストールできます。
コンテナソフトウェアのセットアップについては省略します。
コンテナ内からビルドする場合は、お使いのマシンに docker または podman のいずれかをインストールして設定する必要があります。
docker では、ユーザーを Docker グループに追加するか、root アカウントを使用する必要があります (例: $ sudo ./build-in-container.sh)。podman は rootful でテスト済みです (例: $ sudo ./build-in-container.sh)。ただし、現時点では rootless はサポートされていません。build-in-container.sh は build.sh の上に構築されたラッパーです。使用する OCI 準拠のコンテナエンジンを検出し、コンテナイメージが存在しない場合は作成し、その後コンテナを起動して内部からビルドを実行します。
コンテナイメージを提供する方法は 3 つあります:
$ # 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
docker と podman の両方がインストールされている場合、build-in-container.sh はデフォルトで podman を使用します。これを変更するには、./build-in-container.sh の前に CONTAINER=docker を付けてください:
$ CONTAINER=docker ./build-in-container.sh [...]
./build.sh の代わりに ./build-in-container.sh を使用してイメージをビルドできるようになりました。
$ ./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
注: 3つのフラグは変数名と一致していません: --mirror は BUILD_MIRROR、--hostname は KALI_HOSTNAME(bash はすでに HOSTNAME を設定しています)、--output は OUT_DIR です。その他のフラグはすべて自身の名前を大文字にしたものです(例: --branch は BRANCH)。
詳細および/または例については、以下を参照してください:
お好みに応じて build.sh または build-in-container.sh のいずれかを使用してください。
以降は簡潔さのため build.sh を使用します。
デフォルトのオプションでは、AMD64 アーキテクチャ向けの Kali rolling イメージをビルドします: