从apt 升级中排除/保留/阻止特定软件包的三种方法
发布网友
发布时间:2024-10-23 20:47
我来回答
共1个回答
热心网友
时间:2分钟前
在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 软件包名`
通过使用上述三种方法,可以有效地控制特定软件包的更新,从而避免在系统更新过程中出现问题。