不同 PPA 中的相同软件

不同 PPA 中的相同软件

我有一个关于在不同的源 PPA 中拥有相同软件的问题。

假设我添加了一个 PPA 来从某个开发人员那里获取软件。后来,这位开发人员决定将另一个软件的自定义版本添加到他的 PPA 中,而我的电脑上恰好已经有这个软件了。

下次我这样做时sudo apt-get upgrade,如果版本号高于我的版本,我将收到他的自定义版本。这是一个问题,因为代码可能是恶意的或破坏我的工作流程。总的来说,这将被视为 PPA 劫持。

用外语解释这一点对我来说并不容易,所以我想图表可以帮助直观地了解这个问题。

解释问题的图表

如果源 PPA 自上次更新/安装以来发生了变化,作为用户,我有什么办法可以阻止从软件接收更新吗?我知道我可以冻结(或固定)某个版本,但这意味着我根本无法获得更新(即使它是合法的),所以它并不能真正解决这个问题。

我尝试在 /r/linux4noobs 上发帖并在 /r/linuxquestions 上交叉发帖,但我并没有得到太多答案。

在我看来,这似乎是一个巨大的安全问题,我很惊讶它没有被更多地提及。不过,我对 Linux 总体上还很陌生,所以我可能不明白这里的一些内容。我思想开放,愿意了解apt工作原理,所以请随时指出我遗漏的任何东西!

感谢您未来的回答。

答案1

重要的是要理解 PPA 并不旨在实现可信的、广泛的更新分发。

可信的更新分发通常应通过官方 Ubuntu 存储库进行。PPA 虽然由 Canonical 作为公共服务托管,但不是官方 Ubuntu 存储库。

PPA 旨在用于测试和有限分发,它们是 Ubuntu 开发生态系统的重要组成部分。

然而,由于 PPA 是一种自签名免费存储库,因此用户和开发人员都可能滥用它。这里到处都是滥用 PPA 作为唯一来源或升级途径的人的眼泪。

换句话说,使用 PPA 时您会承担风险。

  • 如果您发现开发人员使用 PPA 作为分发已发布(非测试)软件的方法,请鼓励他们将他们的软件贡献给 Debian,以便它可以得到更广泛的分发、社区测试和支持,并能被更多用户发现。

  • 如果您在 Ubuntu 的 LTS 版本上使用 PPA 来获取最新软件,那么请考虑使用 Ubuntu 的“临时”(6 个月)版本之一。它们同样稳定,每个版本都会更新您的整个软件堆栈软件,并且经过此社区的测试和支持。

相关内容