云网牛站
所在位置:首页 > 初入Linux圈 > 从apt升级中排除/保留/阻止特定Debian/Ubuntu软件包的三种方法

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

2020-03-09 10:28:40作者:李哲稿源:云网牛站

要在Debian/Ubuntu系统下从apt升级中排除/保留/阻止特定软件包,有三种方法可以完成:使用apt-mark、dpkg、aptitude命令,以下详细介绍。

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

 

方法1:如何使用apt-mark命令排除Debian/Ubuntu系统上的软件包更新

apt-mark用于将软件包标记/取消标记为自动安装。

hold选项用于将软件包标记为已阻止,以防止软件包被自动安装、升级或删除。

unhold选项用于取消对包装的先前设置的保留,以允许重复执行所有操作。

运行以下命令以使用apt-mark命令保存给定的软件包:

$ sudo apt-mark hold nano

nano set on hold.

保留某些软件包后,请运行以下apt-mark命令以查看它们:

$ sudo apt-mark showhold

nano

这将表明在执行完整的系统更新时不会升级“nano”软件包:

$ sudo apt update

返回:

Reading package lists… Done

Building dependency tree

Reading state information… Done

Calculating upgrade… Done

The following packages have been kept back:

nano

0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

运行以下命令以使用apt-mark命令取消对“nano”软件包的保留:

$ sudo apt-mark unhold nano

Canceled hold on nano.

 

方法2:如何使用dpkg命令在Debian/Ubuntu系统上排除软件包更新

dpkg命令是一个CLI工具,用于安装、构建、删除和管理Debian软件包。dpkg对用户友好的前端是aptitude。

运行以下命令以使用dpkg命令阻止给定的软件包。

句法:

$ echo "package_name hold" | sudo dpkg --set-selections

运行以下dpkg命令以保存“apache2”软件包:

$ echo "apache2 hold" | sudo dpkg --set-selections

保留某些软件包后,请运行以下命令以查看它们:

$ sudo dpkg --get-selections | grep "hold"

apache2 hold

这将表明在执行完整的系统更新时不会升级“apache2”软件包:

$ sudo apt update

返回:

Reading package lists… Done

Building dependency tree

Reading state information… Done

Calculating upgrade… Done

The following packages have been kept back:

apache2

0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

句法:

$ echo "package_name install" | sudo dpkg --set-selections

运行以下命令以使用dpkg命令取消对“apache2”软件包的保留:

$ echo "apache2 install" | sudo dpkg --set-selections

参考:dpkg命令_Linux dpkg命令使用详解:Debian Linux系统上安装、创建与管理软件包

 

方法3:如何使用aptitude命令排除Debian/Ubuntu系统上的软件包更新

aptitude是Debian及其衍生版本的基于文​​本的软件包管理界面。它允许用户查看软件包列表并执行软件包管理任务,例如安装、升级和删除软件包。可以从可视界面或命令行执行操作。

运行以下命令以使用aptitude命令保存给定的软件包:

$ sudo aptitude hold python3

保留某些软件包后,请运行以下aptitude命令查看它们:

$ sudo dpkg --get-selections | grep "hold"

or

$ sudo apt-mark showhold

python3

这将表明在执行完整的系统更新时不会升级“python3”软件包:

$ sudo apt update

返回:

Reading package lists… Done

Building dependency tree

Reading state information… Done

Calculating upgrade… Done

The following packages have been kept back:

python3

0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

运行以下命令以使用apt-mark命令取消对“python3”软件包的保留:

$ sudo aptitude unhold python3

 

相关主题

使用apt命令:更新包索引/升级包/安装包/删除包/列表包/搜索包/包信息

子频道
精选文章
热门文章