RHEL - 更新升级软件或系统

《OpenShift / RHEL / DevSecOps 汇总目录》

文章目录

  • 小版本软件更新
    • yum update 和 yum upgrade 的区别
    • 升级软件和升级系统
    • 检查软件包是否可升级
    • 指定升级软件使用的发行版本
      • 方法1
      • 方法2
      • 方法3
      • 方法4
    • 查看软件升级类型
    • 更新升级指定的 RHSA/RHBA/RHEA
    • 更新升级指定的 CVE
    • 更新升级指定的 Bug
    • 查看软件安装升级操作历史
    • undo/rollback 操作
  • 大版本系统升级
    • 参考

说明:先《RHEL - 订阅、注册系统和 Yum Repository》一文完成 “注册和注销 RHEL 系统” 章节。

小版本软件更新

yum update 和 yum upgrade 的区别

yum update 和 yum upgrade 都会升级软件,唯一的区别是 yum update 使用了 –obsolete flage=0 参数,而 yum upgrade 使用了 –obsolete flage=1 的参数。

yum update 是直接将旧版本软件升级到新版本,因此升级后还会继续保留有些不再被用的旧版文件,而 yum upgrade 是先把旧版本的软件删除后再安装新版软件。

升级软件和升级系统

以下命令分别会升级 rpm 软件和整个系统。

$ yum update rpm
$ yum update

检查软件包是否可升级

只检查软件包是否可用的升级。

$ yum check-update rpm
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is registered with an entitlement server, but is not receiving updates. You can use subscription-manager to assign subscriptions.

rpm.x86_64                      4.11.3-48.el7_9                         rhel-7-server-rpms

指定升级软件使用的发行版本

可以使用以下显式(前一种)或隐式(后三种)的方法指定 yum 命令使用的发行版本。
注意:如果以下方法都不用,则缺省会使用当前主要版本的最新次要版本,例如 7.9。另外显式方法可以覆盖隐式方法所指定的版本。

方法1

  1. 执行命令检查可更新的 kernel,在参命令参数中显式指定使用的发行版本,
$ yum check-update kernel --releasever=7.6

方法2

注意:该方法只能将使用的版本锁定在当前环境中 redhat-release-server 包所对应的版本。

  1. 在 /etc/yum.conf 文件中添加以下内容。
distroverpkg=redhat-release-server
  1. 然后检查可更新的 kernel。
$ yum check-update kernel

方法3

  1. 执行命令,在 /etc/yum/vars/releasever 文件中设置使用的发行版本,然后检查可更新的 kernel。
$ echo 7.8 > /etc/yum/vars/releasever
$ yum check-update kernel

方法4

  1. 参照《RHEL - 订阅、注册系统和 Yum Repository》一文的 “将 RHEL 系统关联和取关订阅” 章节完成订阅关联。
  2. 执行以下命令设置使用的发行版本,然后检查可更新的 kernel。
$ subscription-manager release --show
Release not set

$ subscription-manager release --set=7.6
Release set to: 7.6

$ yum check-update kernel

查看软件升级类型

  1. 以下命令可以列出和当前环境有关的所有可用软件更新包:
$ yum updateinfo list
  1. 还可进一步查看升级包类型,包括 RHSA/RHBA/RHEA。
$ yum updateinfo list --security
$ yum updateinfo list --bugfix
$ yum updateinfo list | grep enhancement

更新升级指定的 RHSA/RHBA/RHEA

$ yum update --advisory=RHSA-2022:6834

更新升级指定的 CVE

$ yum updateinfo list cves
$ yum update --cves=CVE-2022-40674

更新升级指定的 Bug

可以通过 https://access.redhat.com/errata/RHBA-2022:6936 查看一个 RHBA 对应的 Bug 编号,然后使用该编号升级。

$ yum update --bz=2130769

查看软件安装升级操作历史

  1. 先安装一个软件,然后查看操作历史。
$ yum install createrepo
$ yum history
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is registered with an entitlement server, but is not receiving updates. You can use subscription-manager to assign subscriptions.
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     2 | root <root>              | 2024-01-11 12:01 | Install        |    3
     1 | System <unset>           | 2023-10-16 02:32 | Install        |  342
  1. 查看 ID 为 2 的详细情况。
$ yum history info 2
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is registered with an entitlement server, but is not receiving updates. You can use subscription-manager to assign subscriptions.
Transaction ID : 2
Begin time     : Thu Jan 11 12:01:18 2024
Begin rpmdb    : 342:c938f565466bf7a9c8b9740a0504053f5f0b5922
End time       :            12:01:24 2024 (6 seconds)
End rpmdb      : 345:58ca1f49bd20bfca9e08468a8514a7f9fd62e525
User           : root <root>
Return-Code    : Success
Command Line   : install createrepo
Transaction performed with:
    Installed     rpm-4.11.3-35.el7.x86_64                  @anaconda/7.6
    Installed     subscription-manager-1.21.10-2.el7.x86_64 @anaconda/7.6
    Installed     yum-3.4.3-161.el7.noarch                  @anaconda/7.6
Packages Altered:
    Install     createrepo-0.9.9-28.el7.noarch   @rhel-7-server-rpms
    Dep-Install deltarpm-3.6-3.el7.x86_64        @rhel-7-server-rpms
    Dep-Install python-deltarpm-3.6-3.el7.x86_64 @rhel-7-server-rpms
history info

undo/rollback 操作

yum history 的 undo 将撤销一个指定的操作事务,而 rollback 将回滚指定事务之后的所有操作事务。

  1. 以下命令是撤销 ID 为 2 的操作。
$ yum history undo 2
  1. 以下命令是撤销 ID 为 1 以后的所有操作,即恢复到 ID 为 1 时的状态。
$ yum history rollback 1

大版本系统升级

参见 https://access.redhat.com/labs/rhelupgradehelper,可根据向导可获得跨大版本升级 RHEL 的操作指导。
在这里插入图片描述

参考

https://access.redhat.com/solutions/238533
https://access.redhat.com/solutions/10021
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/ch-yum
https://linuxsimply.com/linux-basics/package-management/upgrade-package/yum-update-vs-upgrade/
https://access.redhat.com/downloads/content/69/ver=/rhel—7/7.9/x86_64/product-errata
https://git.centos.org/rpms/kernel/releases
https://kcm.trellix.com/corporate/index?page=content&id=KB93176
https://www.redhat.com/zh/blog/what-latest-kernel-release-my-version-red-hat-enterprise-linux
https://access.redhat.com/articles/3078

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/338259.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】深度探讨文件操作(一)

文章目录 &#x1f4dd;前言&#x1f320; 为什么使用文件&#xff1f;&#x1f309;什么是文件&#xff1f; &#x1f320;程序文件&#x1f309;数据文件 &#x1f320;文件名&#x1f309;二进制文件和文本文件&#xff1f; &#x1f320;文件的打开和关闭&#x1f309; 流和…

机器人电机综述 — 电机分类、舵机、步进与伺服、物理性质和伺服控制系统

电机综述 图片与部分素材来自知乎大佬不看后悔&#xff01;最全的电机分类&#xff0c;看这一篇就够了&#xff01; - 知乎 (zhihu.com)&#xff0c;本文只是把机器人中常用的电机知识提炼了一下 1 按照结构和工作原理划分 1. 同步电机 ​ 电机的转速与定子磁场的转速相同步…

《WebKit 技术内幕》之八(1):硬件加速机制

《WebKit 技术内幕》之八&#xff08;1&#xff09;&#xff1a;硬件加速机制 1 硬件加速基础 1.1 概念 这里说的硬件加速技术是指使用GPU的硬件能力来帮助渲染网页&#xff0c;因为GPU的作用主要是用来绘制3D图形并且性能特别好&#xff0c;这是它的专长所在&#xff0c;它…

k8s 使用cert-manager证书管理自签

个人建议使用安装更快&#xff0c;比helm快&#xff0c;还要等待安装crd kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.3/cert-manager.yaml#官网 https://cert-manager.io/docs/installation/kubectl/#创建自签的ClusterIssuer c…

数据库设计最佳实践:学院个人信息管理系统中的MySQL优化

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

【C++记忆站】类和对象(一)

类和对象(一) 1.面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题 C是基于面向对象的&#xff0c;关注的是对象&#xff0c;将一件事情拆分成不同的对象&#xff0c;靠对象之间…

2024年热门项目管理软件推荐:提升项目管理效率的工具集合

项目管理系统软件有哪些&#xff1f;本文将根据项目管理系统软件的功能、选择项目管理系统软件对公司的好处&#xff0c;根据国际上知名软件评测网站G2 Grid的评测结果对8款2024年好用的项目管理软件&#xff1a;Zoho Projects、Smartsheet、monday、Asana、ClickUp、Notion、A…

elasticsearch备份恢复,elasticdump使用

准备环境 1. 将node-v10.23.1-linux-x64.tar.xz上传到服务器/usr/local目录下 2. tar xf node-v10.23.1-linux-x64.tar.xz 3. 将node_modules.tar.gz上传到服务器/usr/local目录 4. tar -zxvf node_modules.tar.gz 5. 设置NODE环境 5.1 vim /etc/profile export NODEJS_…

YOLOv5全网首发:新一代高效可形变卷积DCNv4如何做二次创新?高效结合SPPF

💡💡💡本文独家改进:DCNv4更快收敛、更高速度、更高性能,与YOLOv5 SPPF高效结合 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/category_12511931.html 💡💡💡全网独家首发创新(原创),适合paper !!! 💡💡💡 2024年计算机视觉顶会创…

[python]使用pyqt5搭建yolov8钢筋计数一次性钢材计数系统

【官方框架地址】 github地址&#xff1a;https://github.com/ultralytics/ultralytics 【算法介绍】 Yolov8是一种先进的深度学习模型&#xff0c;用于目标检测和识别。在钢筋计数任务中&#xff0c;Yolov8可以有效地识别和计数图像中的钢筋。下面是对如何使用Yolov8实现钢筋…

Java SE入门及基础(25)

目录 方法带参&#xff08;续第24篇&#xff09; 6.方法参数传递规则 方法传参来自官方的说明 基本数据类型传值案例 基本数据类型传值时传递的是值的拷贝 引用数据类型传值案例 引用数据类型传值时传递的是对象在堆内存上的空间地址 Java SE文章参考:Java SE入门及基础知…

【C++第二课 - 类和对象上 - 入门知识】struct类、class类、访问限定符、this指针

目录 面向过程与面向对象初步认识类的定义struct定义类class定义类 类的访问限定符及封装访问限定符 声明与定义分离this指针类成员的命名问题this 类的实例化类的对象大小的计算成员函数为何不在对象里面类对象大小计算 面向过程与面向对象初步认识 C语言是面向过程的&#x…

线程和进程的区别(从JVM角度出发)

进程与线程的区别 线程具有许多传统进程所具有的特征&#xff0c;故又称为轻型进程(Light—Weight Process)或进程元&#xff1b;而把传统的进程称为重型进程(Heavy—Weight Process)&#xff0c;它相当于只有一个线程的任务。在引入了线程的操作系统中&#xff0c;通常一个进…

Linux 的提示符太长了,帮你精简一下

普通用户修改文件 ~/.bashrc 修改 50 行左右的代码&#xff0c;将两个w改为大写的W 如果是root用户则修改文件/root/.bashrc&#xff0c;同样的方法。

自然语言推断:注意力之注意(Attending)

注意&#xff08;Attending&#xff09; 第一步是将一个文本序列中的词元与另一个序列中的每个词元对齐。假设前提是“我确实需要睡眠”&#xff0c;假设是“我累了”。由于语义上的相似性&#xff0c;我们不妨将假设中的“我”与前提中的“我”对齐&#xff0c;将假设中的“累…

数据结构——循环链表

1.循环单链表 最后一个结点的指针不是NULL,而是指向头结点 单链表和循环单链表的比较&#xff1a; 单链表&#xff1a;从一个结点出发只能找到该结点后续的各个结点&#xff1b;对链表的操作大多都在头部或者尾部&#xff1b;设立 头指针&#xff0c;从头结点找到尾部的时间…

《Windows核心编程》若干知识点应用实战分享

目录 1、进程的虚拟内存分区与小于0x10000的小地址内存区 1.1、进程的虚拟内存分区 1.2、小于0x10000的小地址内存区 2、保存线程上下文的CONTEXT结构体 3、从汇编代码角度去理解多线程运行过程的典型实例 4、调用TerminateThread强制结束线程会导致线程中的资源没有释放…

代码随想录 Leetcode1047. 删除字符串中的所有相邻重复项

题目&#xff1a; 代码(首刷自解 2024年1月21日&#xff09;&#xff1a; class Solution { public:string removeDuplicates(string s) {if (s.size() < 2) return s;stack<char> t;for (int i 0; i < s.size(); i) {if (t.empty()) t.push(s[i]);else {if (s[i…

shell编程学习

shell编程学习 变量的高级用法变量替换字符串处理获取字符索引获取子串长度抽取字符串中的子串 案例测试 变量的高级用法 变量替换 ##变量替换&#xff08;贪婪&#xff0c;从前往后匹配&#xff0c;匹配到进行删除&#xff09; test1I love you,you love me echo $test1 han…

人工智能攻克奥数几何难题:AlphaGeometry 接近金牌选手水平

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…