从apt 升级中排除/保留/阻止特定软件包的三种方法

发布网友 发布时间:2024-10-23 20:47

我来回答

1个回答

热心网友 时间:2024-11-06 21:39

在Debian和Ubuntu系统中,有时在进行全系统更新或自动包升级时,可能会意外更新不想更新的软件包,这可能导致应用功能破坏,造成问题。为了防止这种情况发生,可以使用以下三种方法来从apt-get更新中排除、保留或阻止特定软件包的更新。

方法1:使用apt-mark命令排除软件包更新

使用`apt-mark`命令可以将软件包标记为自动安装、保留、取消保留或恢复。`hold`选项用于标记软件包为保留,防止其自动安装、升级或删除。`unhold`选项用于取消保留设置,允许所有操作重复执行。要保留指定的软件包,使用以下命令:

`apt-mark hold 软件包名`

执行`apt-mark hold`命令后,运行以下命令检查已保留的软件包:

`apt-mark showhold`

要取消保留并允许软件包进行更新,请执行以下命令:

`apt-mark unhold 软件包名`

方法2:使用dpkg命令排除软件包更新

`dpkg`命令是一个CLI工具,用于在Debian系统中安装、构建、删除和管理软件包。要阻止特定软件包的更新,使用以下命令:

`sudo dpkg --set-selections 软件包名 hold`

保留软件包后,使用以下命令查看已保留的软件包:

`dpkg --get-selections | grep hold`

要取消对指定软件包的保留,执行以下命令:

`sudo dpkg --set-selections 软件包名 auto`

方法3:使用aptitude命令排除软件包更新

`aptitude`命令是Debian及其衍生版本中的基于文本的软件包管理界面,允许用户查看软件包列表并执行安装、升级和删除软件包等任务。要保留指定的软件包,请执行以下命令:

`aptitude hold 软件包名`

保留某些软件包后,使用以下命令查看已保留的软件包:

`aptitude showhold`

要解除对特定软件包的保留,请执行以下命令:

`aptitude holdoff 软件包名`

通过使用上述三种方法,可以有效地控制特定软件包的更新,从而避免在系统更新过程中出现问题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com