热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

1.2Kali与Debian的关系

1.2Kali与Debian的关系KaliLinux分发版是基于Debian测试版的。因此,KaliLinux中的大多数软件包直接来自于Debian的软件仓库。虽然KaliLinux很

1.2 Kali与Debian的关系

Kali Linux分发版是基于Debian测试版的。因此,Kali Linux中的大多数软件包直接来自于Debian的软件仓库。

虽然Kali Linux很大程度上依赖于Debian,但在某种意义上讲,我们也是完全独立自主的,我们有自己的基础架构,有自己的自由,可以做我们想做的任何修改。

1.2.1 软件包流程

在Debian方面来说,贡献都每天都在更新软件包,并把其上传至Debian非稳定分发版中。从这里,一旦大多数讨厌的BUG被解决掉,这些软件包就迁移到Debian 测试分发版上。这个迁移过程也保证了在Debian测试版中软件包之间的依赖是正常的。

Debian测试版的目的是让Kali Linux与其能保持相当的一致性,这样我们就能以Debian测试版作为基础。而要添加Kali专有的软件包到分发版中,我们遵循两个步骤:

首先,我们拿到Debian测试版并强制把Kali软件包(只位于kali-dev-only软件仓库中)并入其中,构建了kali-dev软件仓库。这个软件仓库将时不是中断:比如,我们的Kali专有软件包可能无法安装,直到他们基于更新的库重新编译完。在其它情况下,我们也可能对已有的分支进行更新,无论是再次变成可安装的,还是修复依赖于更新的分支软件版本的软件包的可安装性。在任何情况下,kali-dev都不是针对最终用户的。

kali-rolling是要求Kali Linux用户跟踪的分发版,它是基于kali-dev版本,kali-dev版本是以相同方式从Debian非稳定版构建出来的Debian测试版而构建的。只有软件包所有的依赖在目标分发版中都完备时,软件包才会进行迁移。

1.2.2 管理与Debian之间的差异

作为一个设计决策,我们试图尽可能地减少软件包的分布数量。然而,为了实现Kali的一些独有的特性,必须得有一些改变。为了限制这些变化带来的影响,我们努力把这些变化发送到上游去,无论是通过直接集成还是通过添加所需的要求,总之是在无需通过再次修改上游软件包的情况下,直接使能了所期望的特性。

Kali软件包跟踪器可以帮助我们对Kali与Debian之间的分歧保持跟踪。在任何时候,我们能够查找哪个软件包被分支了,其是不是与Debian同步了,或者是不是要求更新了,等等。所有的软件包都是在Git软件仓库中基于Debian分支进行维护的,同时还有一个Kali分支。得益于这些,更新一个分叉的软件包只需进行两个简单的步骤:更新Debian分支,然后合并到Kali分支。

虽然在Kali中分叉的软件包相对而言比较少,但添加的软件包却不少:截至到2017年4月差不多有400个了。这其中的大多数软件包都是自由软件,符合Debian自由软件指导方针。而我们的终极目标是让这些软件包无论什么时候都是与Debian一样有效的。这也是为什么我们要努务遵循Debian策略,并让这些好软件包在Debian中使用的原因。然而,不幸的是,也有例外:有些软件包几乎不能创建。由于时间仓促,有些软件包已被推到Debian中。


推荐阅读
  • Qwik:一款创新的JavaScript框架,致力于提升网页应用的速度与响应性
    Qwik是一款新的JavaScript框架,旨在通过其独特的可恢复性机制,显著提高网页应用的加载速度和用户体验。 ... [详细]
  • 本文通过一个简单的 C++ 示例,深入分析了当使用 `vector::resize` 方法调整向量大小时,对象的构造函数和析构函数被调用的具体情况。示例代码展示了如何创建一个包含自定义类的对象的向量,并通过调整其大小来观察构造和析构的过程。 ... [详细]
  • 本文档详细介绍了2017年8月31日关于MySQL数据库备份与恢复的教学内容,包括MySQL日志功能、备份策略、备份工具及实战演练。 ... [详细]
  • 本文详细介绍了如何通过修改Lua源码或使用动态链接库(DLL)的方式实现Lua与C++之间的高级交互,包括如何编译Lua源码、添加自定义API以及在C++中加载和调用Lua脚本。 ... [详细]
  • 想要使用Linux,以下这些命令不可少的哦!我在工作中经常用到的大多数都是一些文件的查找,和上传下载什么的,没什么技术含量& ... [详细]
  • 本文详细解释了i386和X86_64这两种处理器架构的意义及其区别,涵盖了从早期的8086处理器到现代多核技术的发展历程,探讨了这些架构如何影响操作系统的选择及软件的兼容性。 ... [详细]
  • 反向代理是一种重要的网络技术,用于提升Web服务器的性能和安全性,同时保护内部网络不受外部攻击。本文将探讨反向代理的基本概念、与其他代理类型的区别,并详细介绍如何使用Squid配置反向代理。 ... [详细]
  • 最佳PHP源码加密工具推荐
    本文探讨了几款高效的PHP源码加密工具,旨在帮助开发者保护其代码免受未授权访问。文章不仅介绍了商业软件的选择,还提供了一些免费且实用的加密工具及其使用方法。 ... [详细]
  • 持续集成概述与实践指南
    本文探讨了持续集成(CI)的基本概念、目的及其在现代软件开发中的应用。通过实例分析,帮助读者理解如何有效实施持续集成,提高软件开发效率。 ... [详细]
  • 本文详细解析了Java面试中常见的问题及答案,旨在帮助求职者更好地准备面试,提高通过率。 ... [详细]
  • Docker基础指南:快速入门与实践
    Docker自发布以来便受到广泛欢迎,其提供的容器化技术极大地简化了软件开发和部署流程。本文旨在帮助初学者快速掌握Docker的基本操作,包括安装、运行容器、创建和管理镜像等内容,以激发大家对Docker的兴趣。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 本文介绍了如何在Linux系统中获取库源码,并在从源代码编译软件时收集所需的依赖项列表。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • Dense Matrix Inversion Results in Segmentation Fault: Causes and Solutions ... [详细]
author-avatar
晴子suerw_980
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有