simple-cdd और debian-cd के साथ आधिकारिक Kali Linux इंस्टॉलर ISO इमेज बनाता है, जो कई आर्किटेक्चर, वेरिएंट, मिरर और कंटेनरीकृत बिल्ड का समर्थन करता है।
simple-cdd (और debian-cd) के माध्यम से Kali Linux इंस्टॉलर ISO बिल्डर।
ये वही बिल्ड-स्क्रिप्ट्स हैं जिनका उपयोग Kali टीम आधिकारिक Kali Linux बेस इमेज बनाने के लिए करती है, जो kali.org/get-kali/ पर उपलब्ध हैं।
इन इमेज्स का उपयोग सेटअप के दौरान विभिन्न अनुकूलन के साथ Kali इंस्टॉल करने के लिए किया जा सकता है, CD/DVD/Blu-ray/USB/sdCard से। लाइव बूट करने में सक्षम होने के लिए (जैसे कि किसी मौजूदा ऑपरेटिंग सिस्टम को बदले बिना Kali आज़माना), देखें kali-live:
आज ही अपना Kali बनाएं!
हम Linux-आधारित होस्ट पर बिल्ड करने की सलाह देते हैं, जो वांछित आर्किटेक्चर से मेल खाता हो।
kali-installer बिल्ड-स्क्रिप्ट का उपयोग करने के लिए तैयार होने के कई तरीके हैं। आप या तो:
build.sh - सीधे अपनी मशीन से बिल्ड करेंbuild-in-container.sh - कंटेनर के अंदर से बिल्ड करें (जैसे Docker या Podman) build.sh के काम करने के लिए, इसे सुपर यूज़र एक्सेस की आवश्यकता होगी (जैसे sudo या एक रूटफुल कंटेनर)। हालाँकि, 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 बनाएगा।
यदि आप आधार OS के रूप में Kali का उपयोग नहीं कर रहे हैं, तो आपको Kali का kali-archive-keyring इंस्टॉल करना होगा ताकि simple-cdd Kali के पैकेज प्राप्त कर सके।
$ 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) के एक निश्चित संस्करण की भी आवश्यकता हो सकती है।
अब आप बिल्ड निर्भरताएँ स्थापित करने के लिए Build From The Host (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-in-container.sh (न कि ./build.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