CentOS或Ubuntu禁止特定软件包更新

CentOS:

禁止全部更新:

编辑/etc/yum/yum-cron.conf

update_messages = no
download_updates = no

如果只想禁止一个过多个软件包,有两种方法:

1、修改yum的配置文件 vim /etc/yum.conf,在 [main] 的最后添加 exclude=kernel*

通过这种方式,也可禁止/etc/yum.repos.d下特定软件源的更新

2、直接在yum的命令后面加上如下的参数:


yum -x kernel* update

或者

yum --exclude=kernel* update

3、使用yum插件versionlock来实现


yum install yum-versionlock -y

yum versionlock add software_name

 

Ubuntu:

1、命令方式:使用apt-mark工具


apt-mark --help
用法:apt-mark [选项] {auto|manual} 软件包1 [软件包2 ...]

apt-mark 可以对软件包进行 手动/自动 安装标记,也可以用来处理软件
包的 dpkg(1) 选中状态,以及列出或过滤拥有某个标记的软件包。

常用命令:
auto - 标记指定软件包为自动安装
manual - 标记指定软件包为手动安装
hold - 标记指定软件包为保留(held back)
unhold - 取消指定软件包的保留(held back)标记
showauto - 列出所有自动安装的软件包
showmanual - 列出所有手动安装的软件包
showhold - 列出设为保留的软件包

2、配置文件方式:

修改/etc/apt/preferences或在/etc/apt/preferences.d/目录下添加pref文件

示例:

Package: perl
Pin: version 5.10*
Pin-Priority: 1001

Package: perl
Pin: version 5.10*
Pin-Priority: 1001

Package: perl
Pin: version 5.10*
Pin-Priority: 1001

详细内容man apt_preferences

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注