在Ubuntu中如何防止自动安装,升级或者删除软件包

时间:2020-03-21 11:42:25  来源:igfitidea点击:

防止软件包自动升级

我们可以从命令行(使用APT-Get)或者图形方式(使用Synaptic Package Manager)锁定包。
两者都很容易。

命令行方式(使用apt-get)

要锁定包自动安装,更新或者删除,我们可以使用"APT-Mark"命令。
此命令有许多选项。
我们可以阅读人文页面了解每个选项的详细信息。

$man apt-mark

出于本教程的目的,我们将仅讨论两种选择即hold和unhold。

  • HOLD - 禁止安装,更新,升级或者删除的任何包。
  • unhold - 从HOLD释放包,允许我们安装,更新,删除该包。

让我们标记(保持)包,例如HTOP,如下所示。

$sudo apt-mark hold htop

示例输出:

htop set on hold.

即使在升级系统之后,锁定的包也将保持相同的版本。
握住图形驱动程序时,此技巧非常有用。

要unhold包,只要运行:

$sudo apt-mark unhold htop

示例输出:

Canceled hold on htop.

重要提示:请注意,此方法不会阻止手动卸载包。
我们仍然可以使用"apt-get remove <packageName>"命令删除锁定的软件包。
不要假设无法删除标记的包。

此方法仅防止应用程序自动安装,更新,升级或者在系统升级期间删除。
持有包装实际上意味着我们告诉包管理器无论如何,无论是什么,都可以保留当前版本。
如果在更新后的最新版本的最新版本中断,则这是有用的。

每当我们尝试使用命令"sudo apt-get更新"或者"sudo apt-get升级"更新系统时,标记的软件包仍将在保存包时具有相同的版本。

图形方式(使用Synaptic Package Manager)

如果系统上安装了Synaptic Package Manager,则可以轻松地锁定已安装,更新,升级或者已删除包,如下所述。

从Unity Dash或者菜单中打开Synaptic Manager。
搜索要持有的软件包。
然后从菜单列转到包,然后单击"保持"。

现在,只要我们保留它,在系统升级期间不会触及软件包。

如果未在系统中安装Synaptic Packager Manager,则可以使用命令安装它:

$sudo apt-get install synaptic