帮助中心 >
  关于网络安全 >
  Yum和DNF中禁用或锁定软件包更新的方法
Yum和DNF中禁用或锁定软件包更新的方法
时间 : 2025-02-05 15:43:39
编辑 : Jtti

软件包管理器属于一种软件,可以允许用户安装新软件、升级系统、更新特定软件等。在Linux中有不少软件有依赖项,这些依赖项必须存在系统中才能完成,因此软件包管理器等工具在每个系统上都需要。

Linux发行版都附带了用于上述功能的默认包管理器,DNF(Dandified YUM)正在取代Fedora 系统上的YUM,包管理器可以实现从存储库中安装新软件,通过在安装软件前安装依赖项来解决软件依赖关系,维护每个软件依赖关系数据库,降级任何现有软件版本,升级内核版本,列出可供安装的软件包。

如果要组织特定软件包的更新,可以使用Yum或DNF的配置文件,先打开:

sudo nano /etc/yum.conf        #Yum Configuration File

sudo nano /etc/dnf/dnf.conf    #DNF Configuration File

在文件的底部添加以下内容,后跟上想阻止的包名称:

exclude=kernel* httpd

这会阻止系统更新所有与内核相关的软件包和 Apache 网络服务器 ( httpd )。

然后验证是否已经阻止该指定包的更新:

sudo dnf install httpd

如果不行一直修改配置文件,还可以在Yum或DNF更新时用命令行选项暂时排除特定软件包:

sudo yum update --exclude=nginx php

sudo dnf update --exclude=nginx php

通过添加存储库从任何外部源安装的任何软件包,还可以编辑在/etc/yum/repos.d/或/etc/yum.repos.d目录中创建的repo-name.repo配置文件来阻止升级。

打开配置文件:

sudo nano /etc/yum.repos.d/repo-name.repo

在该部分下添加以下行[repository]:

exclude=package1 package2,如想mysql从 epel 存储库中排除该包的更新,请打开/etc/yum.repos.d/epel.repo并添加:

exclude=mysql*

这样就可以阻止来自该特定存储库的mysql更新。

Yum和DNF都提供可以锁定软件包特定版本的插件,防止它们被更新,这是使用versionlock插件完成的。Yum安装versionlock插件:

sudo yum install yum-plugin-versionlock

锁定特定的软件包版本:

sudo yum versionlock add httpd

查看所有锁定的包:

sudo yum versionlock list

从版本锁中删除软件包:

sudo yum versionlock delete httpd

对于Dnf安装 versionlock 包:

sudo dnf install dnf-plugins-core

锁定特定的软件包版本:

sudo dnf versionlock add httpd

查看所有锁定的包:

sudo dnf versionlock list

要从版本锁中删除软件包:

sudo dnf versionlock delete httpd

 

JTTI-Eom
JTTI-Defl
JTTI-COCO
JTTI-Ellis
JTTI-Selina
标题
电子邮件地址
类型
销售问题
销售问题
系统问题
售后问题
投诉与建议
市场合作
信息
验证码
提交