ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 封装定制的Kali Live ISO ## 打造专属的Kali ISO – 简介 封装定制的Kali ISO很简单,很有趣,很有意义.你可以用Debian的[live-build](http://live.debian.net/devel/live-build/ "Debian Live Build")脚本对Kali ISO进行全面的配置.这些脚本以一系列配置文件的方式对镜像进行全面的自动定制,让任何人都可以轻易地就能打造一个Live系统镜像.官方发布的Kali ISO也采用了这些脚本. ### 前提 最理想的是在预装Kali的环境里定制你的Kali ISO.如果不是这样,请务必使用最新版本的live-build脚本(3.x分支的脚本可用于Debian wheezy). ### 准备开始 首先我们要用以下命令搭建好定制Kali ISO的环境: ``` apt-get install git live-build cdebootstrap kali-archive-keyring git clone git://git.kali.org/live-build-config.git cd live-build-config lb config ``` ### 封装Kali ISO的配置(可选) **config**目录里包含了定制ISO的各种重要的自定义选项,这些选项在Debian的[live build 3.x](http://live.debian.net/manual-3.x/html/live-manual/index.en.html "Debian Live Build")页面有文档说明.然而如果你没有耐心,请特别注意以下的配置文件: **config/package-lists/kali.list.chroot** – 包含要安装在Kali ISO里的软件包的列表.你可以指定移除已经安装的软件包.也可以切换你的Kali ISO的桌面环境(KDE,Gnome,XFCE,LXDE等). **hooks/** – hooks 目录允许我们在不同阶段调用脚本封装定制Kali Live ISO.更多关于hooks的信息,参考[live build 手册](http://live.debian.net/manual/3.x/html/live-manual/index.en.html "Debian Live Build Manual").举个例子,Kali是这样添加取证模式的引导菜单的: ``` $ cat config/hooks/forensic-menu.binary #!/bin/sh cat >>binary/isolinux/live.cfg <<END label live-forensic menu label ^Live (forensic mode) linux /live/vmlinuz initrd /live/initrd.img append boot=live noconfig username=root hostname=kali noswap noautomount END ``` ### 封装ISO 在封装ISO之前,可以指定需要的架构,选择amd64或者i386.还要注意”lb build”需要root权限.如果你不指定架构,live build将根据你现在使用的架构来封装ISO. 如果你想在在32位系统封装64位的ISO,务必打开多架构支持: ``` dpkg --add-architecture amd64 apt-get update ``` 配置live-build封装64位或者32位ISO: ``` lb config --architecture amd64 # for 64 bit # ...or... lb config --architecture i386 # for 32 bit lb build ``` 最后一个命令需要一些时间,因为它下载所有需要的软件包然后封装ISO.可以先去喝杯咖啡. ### 为今后封装ISO提速 如果你打算经常定制ISO,你可以把kali的软件包缓存在本地便于今后的封装.最简单的就是安装**apt-cacher-ng**,然后在每次打包时配置http_proxy环境变量. ``` apt-get install apt-cacher-ng /etc/init.d/apt-cacher-ng start export http_proxy=http://localhost:3142/ .... # setup and configure your live build lb config --apt-http-proxy http://127.0.0.1:3142/ lb build ```