帮助中心 > 关于网络安全 > 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

 

相关内容

Linux中fkill实现用交互方式终止进程 Espanso提升打字效率的开源文本扩展器 32位和64位系统的关键差异与详细对比 服务器临时文件无权限怎么办 加拿大服务器ping值访问速度如何 Linux环境下SVG到PNG的转换方法 现有Linux服务器添加新磁盘的方法 Linux中带进度条的文件复制/移动方法 香港服务器硬件设备网络拓扑及带宽管理 摒弃弱Hash算法确保SSL/TLS证书安全性
返回

24/7/365 全天候支持我们时刻恭候您

帮助中心