如何在 Linux 中降级软件/软件包

有时 Linux 软件包会中断。 一个新的更新通过,但它没有经过很好的测试。 也许您正在运行最前沿的发行版或奇怪的自定义配置。 您甚至可能只想保留旧版本的软件包以进行测试或阻止更改。

您希望将 Linux 安装回滚到软件包的早期版本的原因有很多。 该过程取决于您的发行版的包管理器,但在大多数情况下应该是可能的。

Ubuntu/Debian

Apt 是 Linux 世界中最受欢迎的包管理器之一,但在这种情况下,它很容易成为最尴尬和最麻烦的选择之一。 Apt 没有任何回滚包的设置机制,也没有在这些情况下您可以真正依靠的缓存系统。 也就是说,您通常可以找到一种方法来安装旧版本的软件包。

这会吐出很多您可能不需要的信息,但它也会显示您以前安装的软件包版本或其他版本。

安装以前的软件包版本

一旦你选择了一个包,通过指定版本来安装它。

这里还有另一个选择。 如果你能找到你想要的旧版本的包,你可以单独下载并安装它 dpkg (这里有更多关于 dpkg 的信息)。 您甚至可以从您的发行版的旧版本中找到它们。 为了 example,如果你运行的是 Ubuntu Bionic,你可以从 Xenial 安装一个包。 在这种情况下,您可以执行以下操作:

Fedora

Fedora的 DNF 包管理器内置了一些非常有用的机制,允许您安装以前版本的包或回滚任何更改或升级。

列出可用版本 Fedora

首先,可能也是最简单的,您可以从 DNF 的存储库中安装以前版本的软件包。 首先列出所有可用的选项。

DNF 将在您启用的存储库中向您显示该软件包的所有版本。 选择你想要的,然后通过指定 DNF 的版本号来安装它。

DNF 将安装您在现有版本上指定的软件包版本。

列出 DNF 历史 Fedora

如前所述,DNF 通过快照保留完整的历史记录。 您可以使用该历史记录将系统恢复到较早的状态。 首先列出 DNF 的历史。

应该很容易找到您想要返回的点,但是您可以通过 ID 号轻松获取有关 DNF 交易的信息。

当您确定您拥有正确的交易时,请撤消交易。

DNF 将撤销该交易,将您的系统恢复到之前的状态。

OpenSUSE

在 OpenSUSE 上,您可以使用 YaST 以图形方式或使用 Zypper 通过命令行进行管理。 本指南将涵盖 Zypper,因为它是最直接和最通用的。

首先,搜索您的 Zypper 历史记录 grep.

找到要还原到的版本后,请安装它。

Arch Linux

在 Arch Linux 上将包回滚到早期版本非常简单,前提是您不要过于频繁地清除 Pacman 的缓存。 Arch 的包管理器 Pacman 将您安装的每个包存储在指定的缓存文件夹中。

与 Arch 中的大多数东西一样,这是为简单而设计的。 Arch 开发人员明白,在像 Arch 一样快节奏的发行版中偶尔会出现错误,因此他们使回滚过程尽可能简单。

通过列出“/var/cache/pacman/pkg/”的内容来检查哪些版本可用。 如果您搜索,您将有一个更轻松的时间 grep.

找到它后,使用 Pacman 安装它。

Pacman 将自动在当前软件包上安装旧版本。

这就是你需要做的。 遵循适合您的发行版的流程,您将能够将您的系统恢复到以前的、希望问题较少的软件包版本。 您还应该记住,这些方法都违反了您的分发的常规流程,因此它们可能并不总是有效。 它们是伟大的第一步,是你应该始终尝试的,艰难的。

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅