
simple-cdd와 debian-cd를 사용하여 공식 Kali Linux 설치 프로그램 ISO 이미지를 빌드하며, 여러 아키텍처, 변형, 미러 및 컨테이너화된 빌드를 지원합니다.
simple-cdd(와 debian-cd)를 통한 Kali Linux 설치 프로그램 ISO 빌더.
이것들은 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
이제 ./build.sh를 사용할 수 있으며, 이 스크립트는 사용자의 머신에서 Kali 설치 프로그램 ISO를 바로 빌드합니다.
Kali를 기본 OS로 사용하지 않는 경우, 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 호환 컨테이너 엔진을 사용할지 감지하고, 컨테이너 이미지가 없으면 생성을 처리한 다음, 컨테이너를 시작하여 내부에서 빌드를 수행합니다.
컨테이너 이미지를 제공하는 방법에는 세 가지가 있습니다:
$ # 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
참고: 세 개의 플래그는 해당 변수 이름과 일치하지 않습니다: --mirror는 BUILD_MIRROR, --hostname은 KALI_HOSTNAME(bash는 이미 HOSTNAME을 설정함), --output은 OUT_DIR입니다. 다른 모든 플래그는 자기 이름을 대문자로 쓴 것입니다(예: --branch는 BRANCH).
더 많은 정보 및/또는 예시는 다음을 참조하세요:
선호에 따라 build.sh 또는 build-in-container.sh 중 하나를 사용하세요.
이 시점부터는 간결함을 위해 build.sh를 사용하겠습니다.
기본 옵션은 AMD64 아키텍처용 Kali rolling 이미지를 빌드합니다: