CentOS 使用yum update 更新时保留特定版本的软件

本文介绍在CentOS/RHEL/Fedora下使用yum更新软件时,如何通过修改/etc/yum.conf文件或使用命令行参数,排除指定的软件包如PHP和内核进行升级,以实现对特定软件版本的保留。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时需要保留特定版本的软件不升级,但升级其他软件,这时就需求用到下面的技巧。

当CentOS/RHEL/Fedora下的Linux服务器使用 yum update 时命令如何排除选定的包呢?

Yum使用/etc/yum/yum.conf或/etc/yum.conf中的配置文件。您需要放置exclude指令来定义要更新或安装中排除的包列表。这应该是一个空格分隔的列表。允许使用通配符*?)

当我使用“yum update”时,如何排除php和内核包?
打开/etc/yum.conf文件,输入:

# vi /etc/yum.conf

在[main]部分下面添加以下行,输入:

exclude=php* kernel*

最后,它应如下所示:

[ main ]
cachedir = /var/cache/yum 
keepcache = 0 
debuglevel = 2 
logfile = /var/log/yum.log 
distroverpkg = redhat-release 
tolerant = 1 
exactarch = 1 
obsoletes = 1 
gpgcheck = 1 
plugins = 1 
exclude =php* kernel*

...

保存并关闭文件。您现在可以照常使用yum命令,但不会安装某些软件包。

如何禁用排除?

您可以使用以下语法:

yum  --disableexcludes = all update
yum  --disableexcludes = main install php
yum  --disableexcludes = repoid install php httpd

这里:

  • all:禁用所有排除
  • main:禁用yum.conf中[main]中定义的排除
  • repoid:禁用为给定repo id定义的排除

yum -exclude 命令行选项

最后,您可以使用以下语法在命令行上跳过yum命令更新:
注意:上述语法将按名称排除特定包,或者从所有存储库的更新中排除。

# yum --exclude=package\* update
# yum --exclude=php\* update
# yum --exclude=kernel\* update
# yum -x 'kernel*' -x 'php*' update

推荐读物

有关更多信息,请使用以下命令查看yum命令的手册页:

$ man yum
$ man yum.conf
<think>好的,我现在需要回答用户关于“centos7 yum update有什么含义”的问题。首先,我需要确保自己正确理解这个命令的作用和用途。 用户可能在使用CentOS 7系统,想要了解yum update的功能。我需要先回忆yum的基本概念。Yum是Yellowdog Updater, Modified的缩写,是RPM包管理器的一个前端工具,用于自动化安装、更新、删除软件包,并处理依赖关系。在CentOS中,yum是默认的包管理工具。 接下来,yum update的具体作用是什么?当执行yum update,系统会检查配置的软件仓库中的元数据,比较已安装的软件版本和仓库中的最新版本。如果有可用的更新yum会列出这些更新,并提示用户确认是否进行安装。这个命令不仅会升级所有已安装的软件包到最新版本,还会处理依赖关系,确保升级过程中所有依赖的包也得到更新。 需要注意的是,yum update默认会升级所有可更新软件包。如果用户只想更新某个特定软件包,可以在命令后面加上包名,比如yum update package_name。但用户的问题中没有提到特定包,所以重点应放在整体系统更新上。 另外,和yum upgrade有什么不同?之前的学习中记得在较新的yum版本中,这两个命令的功能是相同的,但在旧版本中,upgrade可能会处理过的包,而update可能不会。不过,在CentOS 7中,可能两者区别不大,但官方文档可能推荐使用yum update。这点可能需要验证,但为了避免混淆,可能不需要深入讨论,除非用户特别问到。 执行yum update的重要性在于保持系统的安全性和稳定性。软件更新通常包含安全补丁,修复已知漏洞,防止系统被攻击。同,新版本可能修复了软件中的bug,提升性能或添加新功能。因此,定期更新是系统维护的重要部分。 另外,需要提醒用户在更新前做好备份,虽然yum通常是可靠的,但任何系统更新都有潜在风险,比如新版本可能引入不兼容的更改,导致某些应用出现问题。尤其是在生产环境中,最好先在测试环境中验证更新后的稳定性,再进行生产环境的更新。 操作步骤方面,用户可能需要知道如何执行这个命令。通常步骤是:首先运行sudo yum check-update来查看有哪些可用更新,然后执行sudo yum update来安装这些更新更新完成后,可能需要重启系统,特别是当内核或关键服务有更新,需要重启才能生效。重启后可以使用uname -r检查内核版本是否更新。 此外,用户可能想知道如何配置yum仓库,或者遇到更新速度慢的问题,可以建议他们更换镜像源,比如使用国内的阿里云、腾讯云镜像,以加快下载速度。 最后,总结yum updateCentOS 7中的作用:更新所有已安装的软件包到最新版本,确保系统安全和稳定,处理依赖关系,建议定期执行但需谨慎操作,特别是在生产环境中。</think>在CentOS 7中,`yum update` 是一个用于**更新系统软件包**的关键命令。以下是逐步解析其含义和作用: --- ### 一、基本概念 1. **`yum` 是什么?** - `yum`(Yellowdog Updater Modified)是CentOS/RHEL系统的包管理工具,用于自动化安装、更新、删除软件包,并解决依赖关系。 - 通过配置的软件仓库(repository)获取软件包信息。 2. **`update` 的作用** - 检查所有已安装的软件包,并将其升级到**仓库中的最新版本**。 - 同处理依赖关系,确保升级过程中相关依赖包同步更新。 --- ### 二、执行效果 1. **更新范围** - 默认更新所有可升级的软件包(若需仅更新特定包,需指定包名,如 `yum update package_name`)。 - 包括安全补丁、功能增强和漏洞修复。 2. **核心更新示例** - 若仓库中有新内核版本,`yum update` 会下载并保留旧内核,启动可选择新内核启动。 3. **依赖处理** - 自动解决依赖冲突,例如:若软件A依赖库B的更高版本,`yum` 会先升级库B。 --- ### 三、操作流程 1. **检查更新(非必须但建议)** ```bash sudo yum check-update ``` - 列出可更新软件包,但不执行安装。 2. **执行更新** ```bash sudo yum update ``` - 确认更新列表后,输入 `y` 开始下载并安装。 3. **更新后操作** - **重启系统**:若内核或关键服务(如 `glibc`)更新,需重启生效。 - 验证内核版本: ```bash uname -r ``` --- ### 四、注意事项 1. **生产环境谨慎使用** - 更新可能引入兼容性问题,建议先在测试环境验证。 - 使用 `yum history` 可回滚误操作(需依赖事务记录未清除)。 2. **备份重要数据** - 虽然 `yum` 可靠性高,但更新前建议备份关键配置文件(如 `/etc` 目录)。 3. **选择性更新** - 仅更新安全补丁: ```bash sudo yum update --security ``` --- ### 五、常见问题 1. **`yum update` vs `yum upgrade`** - 在CentOS 7中两者功能几乎相同,但 `yum upgrade` 会删除过的包(如旧内核),而 `yum update` 更保守。 2. **更新速度慢** - 可更换国内镜像源(如阿里云、腾讯云)加速下载。 --- ### 六、总结 - **核心作用**:保持系统安全、稳定,修复漏洞,获取新功能。 - **推荐频率**:非生产环境建议定期更新;生产环境需制定维护窗口并充分测试。 通过合理使用 `yum update`,可以有效维护CentOS 7系统的健康状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值