PPA 可以安全地添加到我的系统中吗?需要注意哪些“危险信号”?

PPA 可以安全地添加到我的系统中吗?需要注意哪些“危险信号”?

我看到很多有趣的程序只有通过向系统添加“PPA”才能获得,但如果我理解正确的话,我们应该留在官方“存储库”内向我们的系统添加软件。

新手有什么办法可以知道“PPA”是否安全或是否应该避免使用?用户在处理 PPA 时应该了解哪些技巧?

答案1

购电协议 (个人包裹档案) 用于将特定软件添加到您的 Ubuntu、Kubuntu 或任何其他 PPA 兼容发行版。安全性“ PPA 的有效性主要取决于以下三个因素:

  1. 谁制定了 PPA- 来自 WINE 或 LibreOffice 的官方 PPA,例如ppa:libreoffice/ppa和我自己创建的 PPA 不一样。您不知道我是 PPA 维护者,因此对我而言,信任问题和安全性非常低(因为我可能制作了损坏的软件包、不兼容的软件包或其他任何不好的东西),但对于 LibreOffice 及其网站上提供的 PPA,这为其提供了一定的安全网。因此,取决于谁制作了 PPA,他或她制作和维护 PPA 的时间长短将对 PPA 对您而言的安全性产生一点影响。如上文评论中所述,PPA 未经过 Canonical 认证。

  2. 有多少用户使用了 PPA- 例如,我有一个来自http://winehq.org在我的个人 PPA 中。你会相信我吗?有 10 个用户确认使用我的 PPA,其中 6 个说它很糟糕,而不是 Scott Ritchie 提供的ppa:ubuntu-wine/ppa在 winehq 官方网站上。有成千上万的用户(包括我)使用他的 PPA 并信任他的工作。这项工作已经进行了数年。

    你可以使用以下命令检查 PPA 的下载数量PPA 统计数据网页。

  3. PPA 的更新程度- 假设您正在使用 Ubuntu 10.04 或 10.10,并且想要使用那个特殊的 PPA。您发现该 PPA 的最后一次更新是 20 年前。您使用那个 PPA 的机会为零。为什么?因为 PPA 所需的软件包依赖项非常旧,并且更新的软件包可能更改了太多代码,以至于它们无法与 PPA 一起使用,并且如果您将该 PPA 的任何软件包安装到您的系统中,可能会破坏您的系统。

如果他/她想使用该 PPA,那么 PPA 的更新程度会影响使用该 PPA 的决定。如果不想,他们宁愿去寻找另一个更新的 PPA。您不会想要 Banshee 0.1 或 Wine 0.0.0.1 或 OpenOffice 0.1 Beta Alpha Omega Thundercat Edition 和最新的 Ubuntu。您想要的是更新到您当前 Ubuntu 的 PPA。请记住,PPA 提到了 Ubuntu 版本是为哪个版本制作的,或者多个 Ubuntu 版本是为哪个版本制作的。

作为示例,下面是 Wine PPA 支持的版本的图像:

在此处输入图片描述

在这里您可以看到自 Dinosaurs 以来此 PPA 就受到支持。

PPA 更新方式的一个坏处是,如果 PPA 维护者倾向于将特定软件包的最新、最佳和最前沿的版本推入 PPA。这样做的缺点是,如果您要测试最新版本,您肯定会发现一些错误。尽量坚持使用更新到稳定版本而不是不稳定、测试或开发版本的 PPA,因为它可能/将包含错误。使用最新版本的目的还在于测试并说出发现了什么问题并解决它们。每日 Xorg PPA 和每日 Mozilla PPA 就是一个例子。如果您收到每日更新,您将获得大约 3 个 X.org 或 Firefox 的每日更新。这是因为他们投入了工作,如果您使用他们的每日 PPA,则意味着您想帮助查找错误或进行开发,而不是用于生产环境。

基本上坚持这 3 点,你就会安全。一定要寻找 PPA 的制造者/维护者。一定要看看有多少用户使用过它,一定要看看 PPA 的更新程度。像天啊Ubuntu福罗尼克斯斜线点HWebUp8甚至在 AskUbuntu 上也有很好的来源可以找到许多用户和文章谈论和推荐他们测试过的一些 PPA。

稳定的 PPA 示例- 根据我的经验,LibreOffice、OpenOffice、Banshee、Wine、Kubuntu、Ubuntu、Xubuntu、PlayDeb、GetDeb 和 VLC 都是优质且安全的 PPA。

半稳定 PPA- X-Swat PPA 是一款介于前沿和稳定之间的中等 PPA。

前沿 PPA- Xorg-Edgers 是一款前沿 PPA,不过我应该指出,在 12.04 之后,这款 PPA 变得越来越稳定。我仍然会将其标记为前沿,但对于最终用户来说,它已经足够稳定了。

可选 PPA- Handbrake 优惠这里为用户提供了一种选择方式,您想要稳定版本还是想要前沿版本(也称为快照版本)。在这种情况下,您可以选择要使用的版本。

请注意,例如,在将 X-Swat ppa 与 Xorg-Edgers PPA 一起使用的情况下,您将获得两者的混合(优先考虑 Xorg-Edgers)。这是因为两者都试图包含几乎相同的软件包,因此它们将相互覆盖,并且只有最新的软件包才会显示在您的存储库中(除非您手动告诉它从 X-Swat 获取软件包)。

某些 PPA 可能会在您将其添加到存储库时更新您的某些软件包,因为它们会用自己的版本覆盖某个软件包,以使 PPA 软件在您的系统上正常工作。这可能是一些代码包、python 版本等。其他 PPA(如 LibreOffice PPA)将从您的系统中删除所有 OpenOffice,以便在那里安装 LibreOffice 软件包。基本上,阅读其他用户对特定软件包的评论,并阅读该软件包是否与您的 Ubuntu 版本兼容。

正如 Jeremy Bicha 在下面的评论中提到的,一些前沿技术(保持最新状态的 PPA,包括在 PPA 中添加 Alpha、Beta 或 RC 质量软件)可能会损坏您的整个系统(在最坏的情况下)。Jeremy 举了众多例子中的一个例子。

答案2

要在 launchpad 上开发 PPA,贡献者必须签署Ubuntu 行为准则。这意味着开发人员必须遵守一套最低标准。

通常人们应该咨询 ubuntuforums 来了解谁使用了特定的 ppa 以及它们是否会导致任何问题。

对于“新手”或“菜鸟” - 我最好的建议是避开 PPA,直到您有信心了解有关命令行、潜在错误消息和一些如何诊断问题的知识。

要删除导致问题的 ppa,大多数情况下你可以使用“ppa_purge

如果你感到紧张,可以考虑使用类似以下工具对你的计算机进行映像备份:克隆。这样,如果出现问题而您无法解决,至少您可以通过一种快速的方法将计算机恢复到开始玩游戏之前的状态。

话虽如此,ppa 对于获取最新版本的软件非常有用 - 特别是对于那些不尝试每 6 个月升级一次并坚持使用 LTS 版本的 ubuntu 的人来说。

答案3

其他人在这里列出的所有问题都非常重要。也就是说,由于这是开源的,我们可以从 Ubuntu 中的软件包版本中准确地看出 PPA 发生了哪些变化。我们将使用来自此重复举个例子。

首先,我们将从 PPA 中获取源代码,dget该工具将根据文件链接下载 Debian 源包的所有部分dsc

dget -u https://launchpad.net/~anton0/+archive/unity/+files/unity_5.12-0ubuntu2~ppa1.dsc

我通过点击“查看包裹详情”找到了该链接:

查看包裹详情

进而:

查找 dsc 文件

接下来,我们将获取 Ubuntu 档案库中的软件包来源:

apt-get source unity

最后我们来看debdiff一下这两个包的源代码之间的区别:

debdiff unity_5.12-0ubuntu1.1.dsc unity_5.12-0ubuntu2~ppa1.dsc

该命令的输出大约有三百行,所以我会把它放在 pastebin 上而不是直接进入窗口。现在,我不能保证代码有多好,因为我不太懂 C++,但它似乎在做它声称的事情,而不是任何恶意的事情。

答案4

PPA 是一个包含可安装软件的 Web 文件夹。其实并没有那么复杂。安装软件包时,您需要使用 root 权限,并且软件包中包含要运行的脚本,因此这些脚本是以 root 权限运行的。这意味着安装任何软件都是危险的,您需要信任开发者或分销商。

apt 存档、PPA 或其他内容会定期轮询您已安装软件的更新。这样做的“问题”在于,任何人都可以提供您已安装的较新的软件包。例如,您可以添加 PPA 以获得漂亮的主题和该主题的自动更新。但是,一旦您添加了该存储库,所有者就可以添加修补过的 openssh-server 包,它将作为更新出现在 Ubuntu 中。这可以在您添加 PPA 一年后完成,因此您需要注意更新。

不过,PPA 系统确实可以防止第三方篡改软件包,因此,如果您信任开发者/分销商,那么 PPA 是非常安全的。例如,如果您安装 Google Chrome,那么他们会添加一个 PPA,这样您就可以自动收到它的更新。他们添加了“debhttp://dl.google.com/linux/chrome/deb/稳定主”。如果您使用的 DNS 服务器被黑客入侵,将 dl.google.com 指向其他地方,那么他们就可以将修补的软件推送给安装了 Chrome 的每个人。但 Ubuntu 会拒绝安装它们,因为它们无法使用 Google 的私钥进行签名。因此从这个方面来看,PPA 非常安全。

无法断言 PPA 是否安全。这取决于使用它来分发软件的人。对于免费软件,人们可以查看源代码并确定其是否安全。当许多人使用档案库(如 Ubuntu 常规档案库)时,您就会获得同行评审。用户较少的小型档案库没有同行评审,因此不太值得信赖。主要的教训是,无论您使用什么系统,安装软件时都应小心谨慎。

相关内容