升级后处理问题
尽管 Kali/Debian 维护者尽了最大努力,系统升级并不总是像我们希望的那样顺利。 新的软件版本可能与以前的版本不兼容(例如,它们的默认行为或它们的数据格式可能已经改变),或者尽管包维护者和 Debian Unstable 用户进行了测试,但错误可能会从裂缝中溜走。
利用错误报告 有时您可能会发现新版本的软件根本无法运行。 如果应用程序不是特别流行并且没有经过足够的测试,通常会发生这种情况。 首先要做的是看看 Kali bug tracker3 以及 Debian 错误跟踪系统4 at https://bugs.debian.org/包 ,并检查问题是否已报告。 如果没有,您应该自己报告(有关详细说明,请参见第 6.3 节“提交良好的错误报告”[第 129 页])。 如果已知,则错误报告和相关消息通常是与错误相关的极好信息来源。 在某些情况下,补丁已经存在并且已经在错误报告中提供; 然后,您可以在本地重新编译损坏包的固定版本(请参阅第 9.1 节,“修改 Kali 包” [第 222 页])。 在其他情况下,用户可能已经找到了解决问题的方法,并在他们对报告的回复中分享了他们对此的见解; 在发布修复程序或补丁之前,这些说明可能会帮助您解决问题。 在最好的情况下,包可能已经修复,您可以在错误报告中找到详细信息。
3http://bugs.kali.org 4https://bugs.debian.org
降级到工作版本 当问题是明显的回归(以前的版本有效)时,您可以尝试降级软件包。 在这种情况下,您将需要旧版本的副本。 如果您可以访问 APT 中配置的存储库之一中的旧版本,则可以使用简单的单行命令进行降级(请参阅第 8.2.2.2 节“使用 APT 安装软件包”)” [第 177 页])。 但是随着 Kali 的滚动发布,您通常在任何时候只能找到每个包的一个版本。
你仍然可以尝试找到旧的 deb文件。 文件并手动安装 的dpkg. 老的 deb文件。 文件可以在多个地方找到:
• 在 APT 的缓存中 / var / cache / apt / archives /
• 在里面 池 您常用的 Kali 镜像上的目录(已删除和过时的包会保留三到四天,以避免用户没有最新包索引的问题)
• 在 http://snapshot.debian.org 中,如果受影响的软件包是由 Debian 而不是 Kali 提供的; 此服务保留所有 Debian 软件包的历史版本
处理损坏的维护者脚本 有时升级会因为包维护者脚本之一失败而中断(通常是 邮局)。 在这些情况下,您可以尝试通过编辑有问题的脚本来诊断问题,并可能解决它。
在这里,我们依赖于维护者脚本存储在 /var/lib/dpkg/信息/ 并且我们可以审查和修改它们。
由于维护者脚本通常是简单的 shell 脚本,因此可以添加一个 设置 -x 紧跟在 shebang 行之后的行并安排它们重新运行(使用 dpkg --配置-a HPMC胶囊 邮局) 以准确查看正在发生的事情以及失败的地方。 此输出还可以很好地补充您可能提交的任何错误报告。
有了这些新获得的知识,您可以修复潜在的问题或将失败的命令转换为有效的命令(例如通过添加 || 真的 在行的末尾)。
请注意,此提示不适用于失败的 预设 由于该脚本甚至在安装包之前就已执行,因此它尚未到达最终位置。 它确实适用于 后期 和 预备役 尽管您需要执行包删除(分别升级)来触发它们。