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


301

我看到了很多有趣的程序,这些程序只能通过在系统中添加“ PPA”来获得,但是,如果我正确理解的话,我们应该保留在官方“存储库”中,以便将软件添加到系统中。

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



您可以检查是否还有snappy可用的软件包。它们往往受到安全规则的限制。您必须显式地授予某些快照某些权限,尽管一般问题是相同的(您需要信任发布者)。
肯·夏普

Answers:


213

PPA(个人软件包存档)用于在Ubuntu,Kubuntu或任何其他PPA兼容发行版中包含特定软件。PPA 的“ 安全性 ”主要取决于3件事:

  1. 制作PPA的人 -来自WINE或LibreOffice的官方PPA(例如ppa:libreoffice / ppa)与我创建的PPA不同。您不知道我是PPA维护者,因此信任问题和安全性对我来说非常低(因为我可能制作了损坏的程序包,不兼容的程序包或其他不好的东西),但是对于LibreOffice和PPA,他们在其网站上提供了服务,这给了它一定的安全性。因此,取决于谁制作了PPA,他或她制作和维护PPA的时间将对PPA对您的安全性有一点影响。上面评论中提到的PPA未经Canonical认证。

  2. 有多少用户使用了PPA-例如,我的个人PPA中有一个来自http://winehq.org的 PPA。您是否会信任10位确认使用我的PPA的用户的ME,其中有6位用户说它比Scott Ritchie 在winehq官方网站上提供的ppa:ubuntu-wine / ppa糟糕得多。它有成千上万的用户(包括我)使用他的PPA并信任他的工作。这项工作已经落后了几年。

  3. PPA的更新方式 -假设您使用的是Ubuntu 10.04或10.10,并且要使用特殊的PPA。您发现该PPA的最新更新是20年前。Oo使用THAT PPA的机会为空。为什么?。因为PPA所需的软件包依赖项很旧,并且更新后的软件包依赖项更改了太多代码,以至于如果您将PPA的任何软件包安装到系统中,它们将无法与PPA配合使用并可能破坏您的系统。

    如果他/她想使用PHAT,则更新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和Daily Mozilla PPA就是一个例子。如果您每天获得有关X.org或Firefox的每日更新,则大约会得到3次。这是因为在那里进行的工作,如果您正在使用他们的日常PPA,则意味着您希望帮助进行错误查找或开发,而不是针对生产环境。

基本上坚持使用这3,您将很安全。始终寻找PPA的制造商/维护者。始终查看是否有许多用户使用过它,并始终查看PPA的更新方式。诸如OMGUbuntuPhoronixSlashdotThe HWebUp8之类的地方,甚至在AskUbuntu的此处,都是寻找许多用户和文章的理想来源,他们谈论并推荐了他们已经测试过的一些PPA。

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

半稳定PPA -X-Swat PPA是介于出血边缘和稳定之间的中间PPA。

Pleeding Edge PPA -Xorg-Edgers是最新的PPA,尽管我应该指出,在12.04之后,此PPA变得越来越稳定。我仍将其标记为前沿,但对于最终用户来说足够稳定。

可选PPA -Handbrake 在这里为用户提供一种选择方式,您是想要稳定的版本,还是想要最新的版本(也称为Snapshot)。在这种情况下,您可以选择要使用的内容。

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

某些PPA在将它们添加到资源库时可能会更新其中的某些软件包,因为它们会用自己的版本覆盖某些软件包,以使PPA软件在您的系统上正确运行。这可能是某些代码包,python版本等。其他类似LibreOffice PPA将从系统中删除所有存在的OpenOffice,以在其中安装LibreOffice包。基本上阅读其他用户对特定软件包的评论,并阅读该软件包是否与您的Ubuntu版本兼容。

正如杰里米·毕查(Jeremy Bicha)在下面的评论所暗示的那样,某些前沿技术(保持最新的PPA,包括在PPA中添加Alpha,Beta或RC质量软件)可能会损坏整个系统(在最坏的情况下)。杰里米(Jeremy)提到了许多例子。


您是否需要安装大量PPA才能获得诸如春分,基本等主题?
阿贝尔

2
是。它适用于任何PPA。请记住,PPA只是一种通过某个人更新程序或程序组的简便方法,可以花一些时间来升级它们。因此,这里是有人专门花费时间进行更新或与最新/旧系统兼容的地方。但是由于这样做是人的,所以途中可能会出错。
路易斯·阿尔瓦拉多

14
如何发现PPA有多少用户?
达米安

添加PPA是否会给黑客带来一些漏洞?
mathmaniage

@mathmaniage源代码必须由系统上载和构建,因此可以随时检查源代码。
肯·夏普

56

要在启动板上开发PPA,贡献者必须已经签署了ubuntu行为准则。这表示开发人员必须遵守最低标准。

通常,人们应咨询ubuntuforums,以了解谁使用了特定的ppa,以及是否可能引起任何问题。

对于“新手”或“菜鸟”-我的最佳建议是避免使用PPA,直到您确信自己了解命令行的一些知识,潜在的错误消息以及一些如何诊断问题的知识为止。

要消除导致ppa的问题,您通常可以使用“ ppa_purge

如果您感到紧张,请考虑使用诸如clonezilla之类的工具备份计算机的映像。这样,如果出现问题并且无法解决问题,至少您可以使用一种快速的方法将计算机还原到开始播放之前的状态。

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


1
我希望您的回答在顶部,仅是对新手的建议。:(
Braiam

@fossFreedom:如果我通过ppa或apt-get install实用程序安装,是否会收到自动更新
Rajat Gupta,

1
@ user01-如果创建PPA的人使用新版本更新了软件包,是的-如果您先添加了PPA,则将自动获得更新apt-get install package
fossfreedom

2
当然,恶意用户不会因为必须签署行为守则而被阻止……
evilsoup 2014年

备份不会使您免于数字盗窃(例如,恶意的PPA将您的浏览器cookie或ssh密钥发送回国内)。如果您真的感到紧张,则可以在虚拟机,容器或schroot中安全地安装和运行PPA 。
joeytwiddle

21

正如已经说过的,这不仅仅是恶意软件的问题。同样,某些软件实际上可能仍处于测试阶段,尚未准备好用于生产。如果安装它并依靠它完成工作,则可能会发现它有故障,不可靠且可能崩溃—从而使您无法完成工作。

其中一些可能也无法与Ubuntu的其他方面(例如Unity或Gnome)相处得很好,从而导致难以跟踪的问题,甚至可能使系统不稳定。

这不是因为该软件较差,而是因为它可能尚未经过完全测试,或者不是因为它可用而使人们可以对其进行测试,但尚未打算作为生产软件发布。因此,您应该谨慎使用,尽管其中有些确实很好。

几个月前,我从一个特定的PPA安装了一个推荐的软件包,它浪费了我的系统,以至于我不得不重新安装Ubuntu。我是一个新用户,不知道该怎么办。有了更多的知识,我可能能够解决问题并无需重新安装就可以还原它(尽管这对我学习Ubuntu也很有用,但是如果我保存在我的计算机上,那我会丢失它的) 。

因此,请小心,提出问题,进行频繁备份(!!!),并知道不太可能(尽管并非不可能)恶意软件。


19

其他人在这里列出的所有关注点都非常重要。就是说,由于它是开源的,因此我们可以准确地说明PPA与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 ++,所以我不能保证代码的质量,但是它似乎在执行它所声称的内容,而不是恶意的内容。


1
+1,但您的pastebin链接已损坏。
unforgettableid

这是一个很好的示例,说明如何检查PPA软件包已完成的操作。到pastebin的链接完全无关紧要。+1
肯·夏普

13

PPA是一个Web文件夹,其中包含可以安装的软件。确实没有比这复杂的多了。安装软件包时,请使用root特权执行此操作,并且该软件包具有运行的脚本,因此它们以root身份运行。这意味着安装任何软件都是危险的,您确实需要信任开发人员或发行人。

会定期轮询apt存档(无论是PPA还是其他格式),以获取对已安装软件的更新。这样做的“问题”是,任何人都可以提供您已安装的更新软件包。例如,您可以添加PPA以获得漂亮的主题并自动更新该主题。但是,一旦您添加了该存储库,所有者便可以添加一个打补丁的openssh-server软件包,该软件包将在Ubuntu中显示为更新。这可以在添加PPA一年后完成,因此您需要注意更新。

PPA系统确实可以防止第三方篡改软件包,因此,如果您确实信任开发者/发行者,则PPA非常安全。例如,如果您安装了Google Chrome浏览器,则他们会添加一个PPA,以便您会收到自动更新。他们添加了“ deb http://dl.google.com/linux/chrome/deb/稳定主程序”。如果您使用的DNS服务器被黑客入侵,将dl.google.com指向其他位置,则他们可以将已补丁的软件推送给所有安装Chrome的人。但是Ubuntu无法拒绝安装它们,因为它们无法使用Google的私钥进行签名。因此,就此而言,PPA非常安全。

不能说PPA是否安全。这取决于使用它分发软件的人员。有了免费软件,人们就可以查看源,看看它是否安全。当很多人使用档案(例如Ubuntu常规档案)时,您就会得到同行评审。拥有很少用户的小型档案馆没有这样做,因此它们的可信度较低。主要的教训是,无论您使用什么系统,在安装软件时都应该小心。


11

路易斯·阿尔瓦拉多(Luis Alvarado)的答案为基础,您应该意识到以下风险:

  • 恶意软件包-软件包可能会危害您。这对他们来说很容易,因为他们可以使用管理权限运行任何代码。
  • 质量低劣或软件不兼容 -应用程序可能无法正常运行。例如,通过干扰其他软件,破坏您的数据或泄露私人信息,它可能会意外造成损害。

并且您应该注意以下因素:

  • 维护者的诚实—维护者可能会秘密地伤害您吗?
  • 维护者的安全性-维护者是否容易受到第三方的攻击?
  • 维护者的可靠性 —维护者是否会在合理的时间内响应更新需求?他们是否致力于长期维护PPA?
  • 存储库的安全性 -软件包是否由维护者签名?
  • 软件的性能-该软件是否无错误并且与您的系统兼容?

8

不检查PPA上的软件包是否包含恶意软件。因此,尽管有人可能在为您打包XBMC之类的东西,但他们也很容易添加一些间谍软件/恶意软件。这就是为什么您不应该仅添加任何随机PPA的原因。


你能说XMBC到底是什么吗,我是一个新的ubu
kernel_panic 2011年

XBMC是媒体中心软件。这是好又安全的软件。他仅以它为例,它可以是任何软件。
匿名

恶意软件可以在ubuntu中做什么,应该对任何事情都征得许可?
kernel_panic 2011年

一旦安装了它(即,授予它复制文件到系统目录并运行自定义脚本的root权限),它就可以对系统执行任何操作。因此,从受信任的来源安装软件包很重要。
安排

不正确 安装软件时,您是root用户。获得许可并开始做坏事是很容易的。
tgm4883 2011年

3

添加ppa并通过它安装程序时。

基本上,您授予将该程序驻留在允许的可执行区域(/ bin / / sbin / / usr / bin /)中的权限。

现在,如果程序本身是某种/已经有某种恶意软件,那么系统就不会抱怨它,因为您是添加ppa的人,因为它值得信赖。

当程序来自Ubuntu存储库时,将首先对其进行检查(我想彻底说一遍,但我不知道:P),因此来自Ubuntu存储库的程序肯定没有恶意软件/间谍软件。

对于其他任何ppa,由您/用户决定是否信任它。


恶意软件可以在ubuntu中做什么,应该对任何事情都征得许可?
kernel_panic 2011年

6
在安装软件时,它将要求获得root许可(屏幕变暗,然后输入密码)。这时它可以做任何事情:从包装盒中删除所有内容,安装键盘记录程序,将桌面背景更改为hello kitty,一切
SCdF 2011年

1
@sanjayasanjuubuntu:在安装它时,它要求许可驻留在可执行区域中,一旦存在,它便可以轻松访问任何非Su信息。有些程序需要su权限才能执行,但是,如果程序本身在打包时添加了额外的行李(读取恶意软件),则在您输入密码时它可以毫无问题地执行。
wisemonkey 2011年

开发人员PPA是最安全的途径,还需要在Launchpad上查看贡献者的持续时间。这些因素保证了使用PPA进行最新程序的安全,稳定的系统。我发现这条路线可以使我的LTS可以长时间使用我使用的特定新版本程序。
奥雅纳·罗伊·乔杜里
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.