什么是 PPA 清除?如何在Ubuntu中使用它?
PPA Purge 不仅会从系统中禁用 PPA,还会将其安装的软件包恢复为其官方版本。了解更多相关信息。
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,该 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 降级是因为它是通过 PPA 从版本 3.0.11 升级到 VLC 4.0 的。但这里有一件有趣的事情。即使我使用 PPA 重新安装 VLC 4.0 RC 版本(而不是升级它),它仍然会降级而不是从系统中删除。
这是否意味着 ppa-purge 命令无法在禁用 PPA 的同时删除应用程序?不完全是这样。让我再举一个例子。
PPA 清除对应用程序的影响只能通过 PPA 获得
我最近偶然发现了 Plots,这是一个用于绘制数学图表的漂亮工具。由于它是一个新应用程序,因此在 Ubuntu 存储库中尚不可用。我用它的PPA来安装它。
如果我在此 PPA 上使用 ppa-purge 命令,它会首先禁用 PPA,然后将其恢复到原始版本。但 Ubuntu 的存储库中没有“原始版本”。因此,它会继续从 Ubuntu 中卸载该应用程序。
整个过程如下图所示。指针1用于添加PPA,指针2用于安装名为plots的应用程序。我在 Linux 中通过重定向丢弃了这两个命令的输入。
您可以看到,当使用 PPA Purge(指针 3)时,它会禁用 PPA(指针 4),然后继续通知应用图将被删除(指针 5)。
删除 PPA 与禁用它
我在 PPA Purge 中多次使用“禁用 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 清除会禁用给定的 PPA,但不会删除它。
如果有与给定 PPA 一起安装的新应用程序(除了 PPA 之外无法从任何来源获得该应用程序),则会将其卸载。
如果 PPA 升级了已安装的应用程序,该应用程序将恢复为官方 Ubuntu 存储库提供的版本。
如果您使用 PPA 安装(而不是升级)应用程序的较新版本(也可从官方 Ubuntu 存储库获取),则使用 PPA Purge 会将应用程序版本降级为可从 Ubuntu 存储库获取的版本。
使用 PPA 清除
好吧!足够的解释了。您可能想知道如何使用 PPA 清除。
您需要先安装 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 的源显示为 http://ppa.launchpad.net/videolan/master-daily/ubuntu groovy/main。其中 ppa.launchpad.net 之后和 Ubuntu 之前的术语是 PPA 名称的一部分。因此,在这里,您获得的 PPA 名称为 videolan/master-daily。
如果您必须使用“videolan/master-daily”来清除 PPA,请通过在 PPA 名称前添加 ppa:
来使用它:
sudo ppa-purge ppa:videolan/master-daily
您是否清除 PPA?
我想让这篇文章简短明了,但似乎我讲得更详细了一点。只要你学到了新东西,你就不会介意额外的细节,不是吗?
PPA Purge 是一个漂亮的实用程序,允许您测试应用程序的较新版本或 Beta 版本,然后轻松恢复到发行版提供的原始版本。如果 PPA 有多个应用程序,则它适用于所有应用程序。
当然,您可以手动执行所有这些操作,即禁用 PPA、删除应用程序并再次安装以获得发行版提供的版本。 PPA 清除使工作变得更容易。
您已经使用 ppa-purge 还是从现在开始使用它?我是否错过了一些重要信息,或者您对这个主题仍然有疑问吗?请随意使用评论部分。