9.1.1. 获取来源
重建 Kali 包从获取其源代码开始。 一个源包由多个文件组成:主文件是 *.dsc (Debian 源代码管理) 文件,因为它列出了其他随附文件,这些文件可以是 *。柏油。gz,bz2,xz,有时候 *.diff.gz或 *.debian.tar。gz,bz2,xz 文件。
源包存储在可通过 HTTP 访问的 Kali 镜像上。 您可以使用 Web 浏览器下载所有必需的文件,但最简单的方法是使用 合适的来源 源包名称 命令。 此命令需要一个 deb-src 在线
的/ etc / apt / sources.list文件 文件和最新的索引文件(通过运行完成 apt更新)。 默认情况下,Kali 不会添加所需的行,因为实际上很少有 Kali 用户需要检索源包,但您可以轻松添加它(参见第 8.1.3 节“Kali 存储库”[第 173 页]中的示例文件以及第 8.1.2 节,“了解 sources.list 文件” [第 172 页])。
$ apt源libfreefare
阅读包裹清单......完成
注意:“libfreefare”包装在“Git”版本控制系统中维护:git://anonscm.debian.org/collab-maint/libnfc.git
请用:
git 克隆 git://anonscm.debian.org/collab-maint/libnfc.git
检索包的最新(可能未发布)更新。 需要获得 119 kB 的源档案。
获取:1 http://archive-2.kali.org/kali kali-rolling/main libfreefare 0.4.0-2 (dsc) [2,090 B] 获取:2 http://archive-2.kali.org/kali kali-rolling/main libfreefare 0.4.0-2 (tar) [113 kB] Get:3 http://archive-2.kali.org/kali kali-rolling/main libfreefare 0.4.0-2 (diff) [3,640 B] 在 119 秒内获取 1 kB (63.4 kB/s)
gpgv:密钥块资源“/home/rhertzog/.gnupg/trustedkeys.gpg”:文件打开错误 gpgv:签名于 04 年 2014 月 06 日星期二 57:36:40 PM EST 使用 RSA 密钥 ID 1AD6FAXNUMX gpgv:无法检查签名:公开找不到钥匙
dpkg-source:警告:无法验证 ./libfreefare_0.4.0-2.dsc 上的签名 dpkg-source:信息:在 libfreefare-0.4.0 中提取 libfreefare
dpkg-source:信息:解压 libfreefare_0.4.0.orig.tar.gz dpkg-source:信息:解压 libfreefare_0.4.0-2.debian.tar.xz
$ CD libfreefare-0.4.0
$ ls
作者 CMakeLists.txt 复制黑客 m4 自述文件
ChangeLog configure.ac debian libfreefare Makefile.am 测试
cmake contrib 示例 libfreefare.pc.in NEWS TODO
$ ls debian
更改日志版权 libfreefare-dev.install 规则 compat libfreefare0.install libfreefare-doc.install 源代码控制 libfreefare-bin.install README.Source watch
在本例中,虽然我们从 Kali 镜像接收到源包,但该包与 Debian 中的相同,因为版本字符串不包含“kali”。 这意味着没有应用特定于 kali 的更改。
如果您需要特定版本的源包,该版本目前在 列出的存储库中不可用 的/ etc / apt / sources.list文件,那么下载它最简单的方法就是找出它的 URL .dsc 通过查找文件 http://pkg.kali.org 然后将该 URL 交给 获取 (从 文字 包裹)。
在查找了 kali-bleeding-edge 中可用的 libreefare 源包的 URL 后,您可以下载它 获取. 它会首先下载 .dsc 文件,然后解析它以了解引用了哪些其他文件,然后从同一位置下载这些文件:
$ dget http://http.kali.org/pool/main/libf/libfreefare/libfreefare_0.4.0+0~
➥ git1439352548.ffde4d-1.dsc
dget:检索 http://http.kali.org/pool/main/libf/libfreefare/libfreefare_0.4.0+0~
➥ git1439352548.ffde4d-1.dsc
% Total % Received % Xferd 平均速度时间时间时间电流
Dload 上传总花费的剩余速度 100 364 100 364 0 0 852 0 --:--:-- --:--:-- --: 854
100 1935 100 1935 0 0 2650 0 --:--:-- --:--:-- --:--:-- 19948
dget:检索 http://http.kali.org/pool/main/libf/libfreefare/libfreefare_0.4.0+0~
➥ git1439352548.ffde4d.orig.tar.gz [...]
dget:检索 http://http.kali.org/pool/main/libf/libfreefare/libfreefare_0.4.0+0~
➥ git1439352548.ffde4d-1.debian.tar.xz [...]
libfreefare_0.4.0+0~git1439352548.ffde4d-1.dsc:
dscverify:libfreefare_0.4.0+0~git1439352548.ffde4d-1.dsc 签名检查失败:gpg:签名于 12 年 06 月 14 日星期三 03:2015:XNUMX CEST
gpg:使用 RSA 密钥 43EF73F4BD8096DA gpg:无法检查签名:没有公钥验证失败!!
$ dpkg-source -x libfreefare_0.4.0+0~git1439352548.ffde4d-1.dsc
gpgv:签名于 12 年 06 月 14 日星期三 03:2015:43 CEST gpgv:使用 RSA 密钥 73EF4F8096BDXNUMXDA gpgv:无法检查签名:没有公钥
dpkg-source:警告:无法验证 ./libfreefare_0.4.0+0~git1439352548 上的签名
➥ .ffde4d-1.dsc
dpkg-source:信息:在 libfreefare-0.4.0+0~git1439352548.ffde4d 中提取 libfreefare dpkg-source:信息:解压 libfreefare_0.4.0+0~git1439352548.ffde4d.orig.tar.gz
dpkg-source: info: 解压 libfreefare_0.4.0+0~git1439352548.ffde4d-1.debian.tar.xz
值得一提的是 获取 没有自动提取源包,因为它无法验证源包上的 PGP 签名。 因此我们手动完成了这一步 dpkg- 源 -x dsc 文件. 您还可以通过传递 --允许-未经身份验证 or -u 选项。 相反,您可以使用 --仅下载 跳过源包提取步骤。
检索来源 你可能已经注意到 合适的来源 调用告诉你一个可能的 Git 混帐 用于维护包的存储库。 它可能指向 Debian Git 存储库或 Kali Git 存储库。 所有 Kali 特定的包都保存在托管在的 Git 存储库中 gitlab.com/-kalilinux/packages1. 您可以从这些存储库中检索源 git 克隆 https://gitlab.com/kalilinux/packages/源码包.git. 与你得到的相反 合适的来源,获得的树不会自动应用补丁。 看一下 Debian/补丁/ 了解 Kali 可能做出的更改。 | |
$ git 克隆 https://gitlab.com/kalilinux/packages/kali-meta。 ➥ 混帐 克隆到“kali-meta”... remote:计算对象:760,完成。 远程:压缩对象:100% (614/614),完成。 远程:总计 760(增量 279),重复使用 0(增量 0) 接收对象:100% (760/760), 141.01 KiB | 0 字节/秒, ➥ 完成。 解析增量:100% (279/279),完成。 检查连通性...完成。 $ CD卡利元 $ ls Debian的 $ ls debian changelog compat control 版权规则源码 | |
您可以使用 git 存储库作为检索源的另一种方式,因此(主要)遵循本节中的其他说明。 但是当 Kali 开发人员使用这些存储库时,他们使用另一个打包工作流程并使用来自 git-构建包 我们不会在这里介绍的包。 您可以在此处了解有关这些工具的更多信息: ➨ https://honk.sigxcpu.org/piki/projects/git-buildpackage/ |
1https://gitlab.com/kalilinux/packages