如何锁定 Ubuntu 软件包并阻止其更新
在某些情况下,您可能希望将 Ubuntu 软件包冻结到特定版本。原因可能包括即将发布的版本中的回归以及出于开发目的需要特定版本的软件包。值得庆幸的是,有一些简单的方法可以暂时锁定 Ubuntu 软件包并阻止它们更新。本文将列出一些最常用的保存包裹的方法。
使用 Synaptic 包管理器 GUI 应用程序
Synaptic 包管理器是 apt 包管理器的图形前端。它几乎具有与命令行版本相同的全部功能,同时非常易于使用和简单。它还提供了大量的过滤器来对包进行清晰的分类。
可以使用 Synaptic 包管理器冻结包。要在 Ubuntu 中安装它,请运行以下命令:
许多 Ubuntu 用户更喜欢在锁定软件包之前将其降级到特定版本。那么,我们先来看看降级过程。如果 Ubuntu 服务器上存在多个版本,则可以将软件包降级到早期版本。有些软件包在特定 Ubuntu 版本的支持期内从未收到更新,因此并非所有软件包都可以降级。
下图显示了如何使用 Synaptic 包管理器将 Firefox 降级到早期版本。启动 Synaptic 表单应用程序启动器后,搜索所需的包名称并单击它以突出显示它。单击“Package”>“Force Version...”开始降级过程。如前所述,并非所有软件包都支持降级,因此在这些情况下“强制版本...”选项可能会显示为灰色。
在下一个窗口中,选择旧版本的 Firefox 将其降级。单击工具栏上的“应用”按钮启动降级过程。您将看到一个新的弹出窗口,要求您确认,只需按照屏幕上的说明完成降级过程即可。
现在要实际锁定包,您必须遵循与上面类似的过程。单击您想要的包,然后转到“包”下拉菜单。单击“锁定版本”以防止将来更新。与降级不同,任何包都可以被锁定。
锁定的软件包前面会有一个复选框,并带有一个小锁图标,表示它已被冻结。
要查看系统上所有锁定的软件包,请单击“状态”>“固定”。
可以遵循相同的过程来解锁软件包。您只需再次点击“锁定版本”即可。
使用 Apt 包管理器
Apt 包管理器是 Ubuntu 附带的默认包管理器。如果您使用 Ubuntu,您可能已经使用它来运行一些包管理命令。
使用 apt,您可以运行下面提到的命令来查看所有被锁定或被保留的包。
要锁定特定包,请运行以下格式的命令:
因此,要锁定 Firefox 软件包,命令是:
如果您再次运行上面提到的“showhold”命令,Firefox 将在终端中作为锁定的软件包列出。
要取消保留包,请运行以下格式的命令:
对于使用上述命令锁定的 Firefox 软件包,取消锁定的适当命令是:
使用 Aptitude 包管理器
Aptitude 包管理器是一个基于 apt 的较新的包管理器。它使用简单,并提供了一些比 apt 更方便的额外选项,以及基于终端的前端来轻松管理包。
要在 Ubuntu 中安装 Aptitude,您必须运行以下命令:
aptitude 包管理器具有与 apt 类似的命令模式。保存包的命令是(替换包名):
取消保留包的命令是(替换包名称):
要使用 aptitude 包管理器查看所有保存的包,请运行命令:
使用 Dpkg
Dpkg 是一个简单的实用程序,用于管理 debian 软件包的安装和卸载。就像 apt 包管理器一样,它可以用于通过一些简单的命令来锁定包。
要使用 dpkg 锁定程序包,请按以下格式运行命令(替换程序包名称):
要解锁软件包,请运行命令(替换软件包名称):
要查看 dpkg 锁定的所有软件包,请运行命令:
要检查特定包是否已被锁定,请运行命令(替换包名称):
结论
您可以使用以下几种方法在 Ubuntu 中锁定软件包。除非您确实想要特定版本的软件包,否则应避免锁定和降级,特别是对于需要定期安全更新的软件包(例如 Web 浏览器和 Linux 内核)。