通过 .deb 安装软件——有任何实际风险吗?

通过 .deb 安装软件——有任何实际风险吗?

我是 Ubuntu 操作系统的新用户,因此首先学习一些基础知识。

首先要做的事情之一 - 安装 Chrome 浏览器,已经让我感到困惑了。我找到了一个关于这个的大话题(如何安装 Google Chrome), 在建议直接从 google 下载 .deb 文件的答案旁边,我看到了这样的两条评论:

1 – “如果你按照 Windows 的方式安装,就会感染病毒”

2 —(回复第一个)“是的,用户以这种方式安装软件时应格外小心,并且只在特殊情况下才这样做。”

根据这两条评论,你能解释一下为什么以这种方式安装软件如此“危险”吗?确实如此吗?如果是,那么我该如何使其更安全?


更新:感谢 @guiverc 的回答,现在我很清楚,使用 .deb 安装软件可能会遇到哪些技术问题。但要完全回答我的问题,我还想知道,那些“病毒”怎么办。我很清楚,从非可信来源安装 .deb 可能会带来这种风险,但当我从已知来源(如本例中的谷歌)安装时,我也应该担心这一点吗?如果是,那为什么?

当谈到安全话题时,我有点偏执,这就是为什么我也想完全了解这方面。

答案1

典型(Ubuntu“主要”存储库背后公司的员工。) 和 Ubuntu 成员/人员/社区已经针对他们适用的 Ubuntu 特定版本测试了存储库中的所有内容。

如果您从其他地方下载 .deb,则对其执行的任何验证和测试都可能低于包含在 Ubuntu 存储库中所需的标准。一个简单的区别可能只是验证它遵循的打包规则(例如,它们可能使用 debian 标准;对 debian 来说很好,但可能会给 ubuntu 或其他发行版带来问题),它期望的 ABI/API 已经由开发/打包它的人测试/未测试过,并且可能与特定的库(Qt 或 GTK+ 版本)一起使用,所以再次强调,@SergiyKolodyazhnyy 在“信任”声明中提到要确保它与您的系统匹配。错误打包的安装可能会产生其他正确打包的软件中出现的问题 - 即您必须确保它是合适的。

使用打包规则的简单示例 - apt& deb 打包工具(dpkg等)将按版本升级;因此打包不良的版本可能会使用不同的标准。例如,程序员抓取 2.2.2 版代码,进行一些更改并将其标记为 2.3,因此它将替换 2.2.2 文件。下一个版本标记为 2.2.3,但它不会替换任何人的 2.3 版本,因为 2.3 < 2.2.2。这是一个 [愚蠢] 的简单示例,说明打包过程中存在问题,因为团体遵循对他们有意义的标准,有很多选择,但并非所有选择都能很好地与其他标准配合。但更严重的问题是隐藏在包内的 API/ABI 更改(而不是我的简单命名/版本控制示例

拥有精通技术的人员的大公司往往更了解情况(即做一些功课),但他们的老板通常仍会关注时钟(即 $s),因此不想打包 debian 版本、ubuntu 版本、mint 版本等。因此,创建一个他们认为不会给任何人带来问题的版本。使用开源软件包,sudo apt source如果您不信任 Canonical 或 Ubuntu 存储库软件使用的审查流程,您可以自己查看和审查源代码。对于 PPA 或第三方来源,此审查不是必需的,但至少源代码仍然可用,这意味着您可以自己做(请注意:一些 PPA 确实有经过审核的代码)。如果只提供二进制文件(.deb),那么通过审核的机会就更少了;这需要更多的信任。

对于像浏览器这样的独立程序(您对 chrome 的问题),它与系统的交互很少且大多很简单,例如保存下载的文件,因此与可能的 gnome-extension(如果崩溃,则导致用户在 gnome-shell 崩溃时被注销)相比,在其他地方引起问题的可能性可能会有所降低,但每个非官方软件包都需要对“风险”进行自己的评估(它期望哪个版本的 GTK+ 或 Qt 工具包;您正在运行等)。

如果您使用 Ubuntu 存储库 - 所有这些“家庭作业”都已为您完成,以确保系统尽可能保持稳定,并与其他存储库测试的包相匹配。

相关内容