什么是 PPA 清除? 如何在 Ubuntu 和其他基于 Debian 的发行版中使用它?

PPA 是一种在 Ubuntu 中安装附加应用程序或更新版本软件的流行方法。

我已经写了一份关于 PPA 的详细指南,所以我会在这里快速回忆一下。 PPA 是 Ubuntu 开发的一种机制,使开发人员能够提供自己的存储库。 当您添加 PPA 时,您将额外的存储库添加到您的系统,因此您可以从这个额外的存储库下载应用程序。

sudo add-apt-repository ppa:ppa-address sudo apt update sudo apt install package_from_ppa

我还写过关于从您的系统中删除 PPA 的文章。 我在那篇文章中简要提到了 PPA Purge 工具。 在本教程中,您将获得有关此方便实用程序的更多详细信息。

什么是 PPA 清除?

PPA Purge 是一个命令行工具,可从您的软件源列表中禁用 PPA 存储库。 除此之外,它将系统恢复为官方的 Ubuntu 软件包。 这与简单地删除 PPA 存储库不同。

假设应用程序 ABC 具有可从 Ubuntu 存储库获得的版本 x。 您添加了一个 PPA,它提供了相同应用程序/包 ABC 的更高版本 y。 当您的 Linux 系统发现同一个包可以从多个来源获得时,它会使用提供更新版本的来源。

在此示例中,由于您添加了 PPA,您将安装应用程序 ABC 的 y 版本。

通常,您会删除应用程序,然后从源列表中删除 PPA。 但是,如果您使用 ppa-purge 禁用所述 PPA,您的应用程序 ABC 将自动恢复到 Ubuntu 存储库提供的旧版本 x。

你看得到差别吗? 可能不是。 让我用真实的例子给你解释一下。

将应用程序恢复到 Ubuntu 提供的正式版本

我听说即将发布的 VLC 4.0 版本对 UI 进行了大修。 我想在正式发布之前尝试一下,所以我使用了 每日构建 VLC 的 PPA 获取正在开发的版本 4。

看看下面的截图。 我已经添加了 VLC PPA(videolan/master-daily),这个 PPA 提供了 VLC 4.0 版本候选(RC)版本。 Ubuntu 存储库提供 VLC 版本 3.0.11。

如果我将 ppa-purge 命令与 VLC 每日构建 PPA 一起使用,它会禁用 PPA 并将已安装的 VLC 版本恢复为 3.0.11,该版本可从 Ubuntu 的通用存储库获得。

您可以看到它通知您某些软件包将要降级。

当每日构建的 VLC PPA 被清除时,安装的版本将恢复为 Ubuntu 从其官方存储库提供的版本。

您可能认为 VLC 被降级是因为它从 3.0.11 版升级到了带有 PPA 的 VLC 4.0。 但这里有一个有趣的事情。 即使我使用 PPA 重新安装 VLC 4.0 RC 版本(而不是升级它),它仍然会被降级而不是从系统中删除。

这是否意味着 ppa-purge 命令不能在禁用 PPA 的同时删除应用程序? 不完全是这样。 让我再举一个例子。

PPA 清除对应用程序的影响仅可从 PPA 获得

我最近偶然发现了 Plots,这是一个用于绘制数学图形的漂亮工具。 由于它是一个新应用程序,因此它在 Ubuntu 存储库中尚不可用。 我用了 其购电协议 安装它。

如果我在此 PPA 上使用 ppa-purge 命令,它会先禁用 PPA,然后再将其恢复为原始版本。 但是 Ubuntu 的存储库中没有“原始版本”。 因此,它继续从 Ubuntu 卸载应用程序。

整个过程如下图所示。 指针 1 用于添加 PPA,指针 2 用于安装名为 plots 的应用程序。 我已经丢弃了这两个命令的输入 Linux 中的重定向.

您可以看到,当使用 PPA Purge 时(指针 3),它会禁用 PPA(指针 4),然后继续通知应用程序图将被删除(指针 5)。

删除 PPA 与禁用它

我在 PPA 清除中反复使用术语“禁用 PPA”。 禁用 PPA 和删除它是有区别的。

添加 PPA 时,它会在 /etc/apt/sources.list.d 目录中添加一个新文件。 此文件具有存储库的 URL。

禁用 PPA 会保留此文件,但它会在 PPA 文件中的存储库中被注释掉。 现在,在更新或安装软件时不考虑此存储库。

您可以在软件和更新工具中看到禁用的 PPA 存储库:

当您删除 PPA 时,意味着从 etc/apt/sources.list.d 目录中删除 PPA 的文件。 你不会在系统的任何地方看到它。

为什么要禁用 PPA 而不是删除它? 因为重新启用它更容易。 您可以只选中软件和更新工具中的框或编辑 PPA 文件并删除前导 # 以取消注释存储库。

回顾 PPA Purge 的作用

如果信息太多,让我总结一下 ppa-purge 脚本/工具的主要作用:

  • PPA Purge 禁用给定的 PPA 但不会删除它。
  • 如果使用给定的 PPA 安装了一个新应用程序(除了 PPA 以外的任何来源都无法获得该应用程序),它将被卸载。
  • 如果 PPA 升级了已安装的应用程序,该应用程序将恢复为官方 Ubuntu 存储库提供的版本。
  • 如果您使用 PPA 来安装(而不是升级)较新版本的应用程序(也可以从官方 Ubuntu 存储库中获得),则使用 PPA Purge 会将应用程序版本降级到 Ubuntu 存储库中可用的版本。

使用 PPA 清除

好吧! 足够的解释。 您可能想知道如何使用 PPA Purge。

您需要先安装 ppa-purge 工具。 确保您已启用 Universe 存储库。

sudo apt install ppa-purge

就使用 PPA Purge 而言,您应该以与添加时使用的格式类似的格式提供 PPA 名称:

sudo ppa-purge ppa:ppa-name

这是一个真实的例子:

如果您不确定 PPA 名称,请使用 apt show 命令显示相关包的源存储库。

apt show vlc

例如,VLC PPA 的源显示为 https://ppa.launchpad.net/videolan/master-daily/ubuntu groovy/main。 其中,ppa.launchpad.net 之后和 Ubuntu 之前的术语是 PPA 名称的一部分。 所以在这里,您将 PPA 名称设为 videolan/master-daily。

如果您必须使用清除 PPA ‘videolan/master-daily’,您可以通过添加这样使用它 ppa: 在 PPA 名称之前:

sudo ppa-purge ppa:videolan/master-daily

您是否清除了 PPA?

我想保持这篇文章简短明了,但似乎我讲得更详细一点。只要你学到新东西,你就不会介意额外的细节,对吗?

PPA Purge 是一个漂亮的实用程序,可让您测试更新或 beta 版本的应用程序,然后轻松恢复到发行版提供的原始版本。 如果 PPA 有多个应用程序,则它适用于所有应用程序。

当然,您可以手动执行所有这些操作,即禁用 PPA、删除应用程序并重新安装以获取发行版提供的版本。 PPA 清除使工作更轻松。

你已经使用 ppa-purge 还是从现在开始使用它? 我是否遗漏了一些关键信息,或者您对这个话题还有疑问吗? 请随意使用评论部分。