从Yum更新中排除特定/某些包的三种方法
创始人
2025-03-17 22:41:38
0次

[[276337]]

作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。

如果是,如何排除?可以采取多少种方式?有三种方式可以做到,我们会在本篇中教你这三种方法。

包管理器是一组工具,它允许用户在 Linux 系统中轻松管理包。它能让用户在 Linux 系统中安装、更新/升级、删除、查询、重新安装和搜索软件包。

对于基于 Red Hat 的系统,我们使用 yum 包管理器 和 rpm 包管理器 进行包管理。

什么是 yum?

yum 代表 “Yellowdog Updater, Modified”。Yum 是用于 rpm 系统的自动更新程序和包安装/卸载器。

它在安装包时自动解决依赖关系。

什么是 rpm?

rpm 代表 “Red Hat Package Manager”,它是一款用于 Red Hat 系统的功能强大的包管理工具。

RPM 指的是 .rpm 文件格式,它包含已编译的软件和必要的库。

方法 1:手动或临时用 yum 命令排除包

我们可以在 yum 中使用 --exclude 或 -x 开关来阻止 yum 命令获取特定包的更新。

我可以说,这是一种临时方法或按需方法。如果你只想将特定包排除一次,那么我们可以使用此方法。

以下命令将更新除 kernel 之外的所有软件包。

要排除单个包:

  1. # yum update --exclude=kernel
  2. 或者
  3. # yum update -x 'kernel'

要排除多个包。以下命令将更新除 kernel 和 php 之外的所有软件包。

  1. # yum update --exclude=kernel* --exclude=php*
  2. 或者
  3. # yum update --exclude httpd,php

方法 2:在 yum 命令中永久排除软件包

这是永久性方法,如果你经常执行修补程序更新,那么可以使用此方法。

为此,请在 /etc/yum.conf 中添加相应的软件包以永久禁用软件包更新。

添加后,每次运行 yum update 命令时都不需要指定这些包。此外,这可以防止任何意外更新这些包。

  1. # vi /etc/yum.conf
  2.  
  3. [main]
  4. cachedir=/var/cache/yum/$basearch/$releasever
  5. keepcache=0
  6. debuglevel=2
  7. logfile=/var/log/yum.log
  8. exactarch=1
  9. obsoletes=1
  10. gpgcheck=1
  11. plugins=1
  12. installonly_limit=3
  13. exclude=kernel* php*

方法 3:使用 Yum versionlock 插件排除包

这也是与上面类似的永久方法。Yum versionlock 插件允许用户通过 yum 命令锁定指定包的更新。

为此,请运行以下命令。以下命令将从 yum update 中排除 freetype 包。

或者,你可以直接在 /etc/yum/pluginconf.d/versionlock.list 中添加条目。

  1. # yum versionlock add freetype
  2.  
  3. Loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock
  4. Adding versionlock on: 0:freetype-2.8-12.el7
  5. versionlock added: 1

运行以下命令来检查被 versionlock 插件锁定的软件包列表。

  1. # yum versionlock list
  2.  
  3. Loaded plugins: changelog, package_upload, product-id, search-disabled-repos, subscription-manager, verify, versionlock
  4. 0:freetype-2.8-12.el7.*
  5. versionlock list done

运行以下命令清空该列表。

  1. # yum versionlock clear

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...