openEuler 知:版本比较

文章目录

  • 前言
  • 工具
    • oe_diff
    • oepkg

前言

本文的“版本比较”主要是指比较 openEuler 操作系统两个版本之间的 rpm 包的版本差异,只比较版本差异,不比较文件内容的差异。

比较版本主要用于分析两个操作系统版本之间软件包的版本变化。

工具

oe_diff

工具地址:https://gitee.com/icanpool/shcanpool/blob/master/misc/sh/oe_diff.sh

帮助信息:

[root@localhost canpool]# bash shcanpool/misc/sh/oe_diff.sh -h
diff rpm packages between the two systems based on dnf repositoryusage:bash oe_diff.sh [-h] [-a REPOSITORY [-a ...]] [-b REPOSITORY [-b ...]] [-u] [-t]optional arguments:-a REPOSITORY  A dnf repository address link (can be specified multiple times)-b REPOSITORY  B dnf repository address link (can be specified multiple times)-u             the flag that only output difference items-t             the flag that rpm name does not contain the dist suffix-h             show the help message and exitexamples:bash oe_diff.sh -a A_ADDR -b B_ADDRbash oe_diff.sh -a A_ADDR1 -a A_ADDR2 -b B_ADDR1 -b B_ADDR2

参数介绍:

  • -a REPOSITORY:A版本操作系统的dnf仓库源地址,可以指定多次-s来指定多个源
  • -b REPOSITORY:B版本操作系统的dnf仓库源地址,可以指定多次-s来指定多个源
  • -u:如果指定该标志,将只输出差异项
  • -t:如果rpm包文件名中没有dist后缀,如:oe2203sp1、oe2403,需要指定该标志

备注:

  • 如果指定的dnf仓库源中包含二进制rpm、源rpm、调试rpm,工具将分组比较,先比较所有二进制rpm、再比较所有源rpm、最后比较所有调试rpm。

示例:

  • 比较 openEuler-22.03-LTS-SP1 和 openEuler-22.03-LTS-SP3 两个版本之间 src.rpm 的差异
bash shcanpool/misc/sh/oe_diff.sh -a https://mirrors.jxust.edu.cn/openeuler/openEuler-22.03-LTS-SP1/source/ -a https://mirrors.jxust.edu.cn/openeuler/openEuler-22.03-LTS-SP1/update/source/ -b https://mirrors.jxust.edu.cn/openeuler/openEuler-22.03-LTS-SP3/source/ -b https://mirrors.jxust.edu.cn/openeuler/openEuler-22.03-LTS-SP3/update/source/ -u | tee oe2203sp1_diff_oe2203sp3.csv

在这里插入图片描述

比较结果分为多个字段,说明如下:

  • type:指示rpm的类型,分为:binary,source,debug
  • pkg_name:指示软件包名称
  • op:指示变更操作,分为:equal updated degraded added removed unknown
    • equal:相等
    • updated:升级
    • degraded:降级(根据版本比较结果判断是降级,如果只是release号降低,不一定代表版本降级,可能是gitee的两个版本分支修改记录不一致,但功能一致)
    • added:新增
    • removed:删除(废弃/清退)
    • unknown:未知(版本未比较出大小)
  • version_change:版本变化路线,A -> B
  • a_rpm_name:A版本操作系统中的rpm包文件名
  • a_ver_full:A版本操作系统的rpm包的完整版本号
  • b_rpm_name:B版本操作系统中的rpm包文件名
  • b_ver_full:B版本操作系统的rpm包的完整版本号

备注:比较之后发现存在降级的情况,其中mariadb确实存在版本号bug
在这里插入图片描述

oepkg

工具地址:https://gitee.com/icanpool/shcanpool/blob/master/misc/py/oepkg.py

帮助信息:

[root@localhost canpool]# python3 shcanpool/misc/py/oepkg.py cmp -h
usage: oepkg.py compare [-h] [--once] file1 file2positional arguments:file1       rpm filename list file1file2       rpm filename list file2optional arguments:-h, --help  show this help message and exit--once      remove duplicates

参数介绍:

  • -file1:A版本操作系统的rpm包列表文件(已经过升序排列)
  • -file2:B版本操作系统的rpm包列表文件(已经过升序排列)
  • –once:如果指定该标志,将只输出差异项

备注:

  • 工具只负责对比,不识别rpm包是二进制rpm、源rpm还是调试rpm包,由用户准备相关rpm列表文件
  • 只要有两份rpm列表文件便可以对比,不限于 openEuler 两个版本之间对比,也可以 CentOS 和 openEuler 对比

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CUDA编程00 - 配置CUDA开发环境

第一步: 在一台装有Nvidia显卡和驱动的机器上,用nvidia-smi命令查看显卡所支持cuda版本 第二步: 到Nvidia官网下载CUDA Toolkit并安装,CUDA Toolkit Archive | NVIDIA Developer 安装时按提示下一步即可,安装完成用 …

【端智能】端智能技术演进与实践

什么是端智能技术 端智能(On-Device Machine Learning)是指把机器/深度学习算法模型应用和部署到端设备上,这里“端设备”是相对于云服务而言的,可以是手机,也可以是物联网IoT设备。 Google对端智能的介绍&#xff1…

系统架构设计师教程(清华第二版) 第3章 信息系统基础知识-3.2 业务处理系统-解读

教材中,一会儿“业务处理系统”,一会儿“事务处理系统”,语法毛病一堆。真是清华的水平!!! 系统架构设计师教程 第3章 信息系统基础知识-3.2 业务处理系统 3.2.1 业务处理系统的概念3.2.2 业务处理系统的功能3.2.2.1 数据输入3.2.2.2 数据处理3.2.2.2.1 批处理 (Batch …

计算机体系结构||指令的调度和延迟分布(3)

实验3 指令的调度和延迟分布 3.1实验目的 (1)加深对指令调度技术的理解。 (2)加深对延迟分支技术的理解。 (3)熟练掌握用指令调度技术来解决流水线中的数据冲突的方法。 (4)进一…

使用AI给编程赋能

传送门:https://www.bilibili.com/video/BV1pf421B71v?p23&vd_source092ecb16e8482a7243d0f8f7718c31a2 1. AIGC AI(Artificial Intelligence):人工智能,是计算机科学体系下的一个学科,是指通过计算机…

c# 开发AutoCAD扩展

在C#中开发AutoCAD扩展涉及使用AutoCAD的.NET API, 利用AutoCAD的功能并创建自定义命令、对话框、块、图层和其他图形元素。以下是一些关键步骤和概念,可以帮助你开始使用C#开发AutoCAD扩展: 准备开发环境 安装AutoCAD:确保你有一…

【Linux】线程互斥和同步

目录 线程互斥 相关概念 互斥量mutex 互斥量的接口 初始化互斥量 销毁互斥量 互斥量加锁/解锁 可重入VS线程安全 概念 可重入与线程安全的联系 可重入与线程安全的区别 死锁 死锁的四个必要条件 避免死锁 避免死锁的算法 线程同步 条件变量 条件变量函数 初始…

语义分割——为什么单通道8bit灰度图像能显示多种色块???

目录 一、问题二、解答2.1 标签图的实际存储格式2.2 标签图的显示颜色2.3 颜色映射示例 三、应用颜色映射3.1 OpenCV显示标签图3.2 Matplotlib显示标签图 四、总结 一、问题 大家在做语义分割时不知道有没有这样的疑惑,使用打标签工具后,标签图是单通道…

项目收获总结--大数据量存储架构设计方案

项目收获总结--大数据量存储架构设计方案 一、背景二、数据存储层技术选型2.1 MySQL2.2 MongoDB2.3 HBase2.4 HBaseElasticSearch 三、HBaseElasticSearch基本原理3.1 前置考虑3.2 HBaseElasticSearch优点3.3 HBaseElasticSearch缺点 四、HBaseElasticSearch数据一致性架构4.1 …

大语言模型-Transformer-Attention Is All You Need

一、背景信息: Transformer是一种由谷歌在2017年提出的深度学习模型。 主要用于自然语言处理(NLP)任务,特别是序列到序列(Sequence-to-Sequence)的学习问题,如机器翻译、文本生成等。Transfor…

【UE5】可反射的射线检测

目录 效果 步骤 一、准备射线 二、生成第一次反射后的射线 三、多次反射 四、通过循环进行多次反射 效果 步骤 一、准备射线 1. 新建一个工程,添加一个俯视角游戏资源包 2. 双击打开俯视角游戏地图 删除大纲中的后期处理体积使得地图可以正常显示 3. 添加一…

SAP批量报工源码

SAP批量报工源码,适用于工序少的情景。 *&---------------------------------------------------------------------* *& Report ZPPR106 *& *&---------------------------------------------------------------------* *& *& *&--------------…

网络编程中的TCP和UDP

什么是TCP协议 TCP( Transmission control protocol )即传输控制协议,是一种面向连接、可靠的数据传输协议,它是为了在不可靠的互联网上提供可靠的端到端字节流而专门设计的一个传输协议。 面向连接 :数据传输之前客户端和服务器端必须建立连…

Aouth2单点登录

信息来源B站 不改bug早点睡,北冥 时序图 -----------------------------总结描述 总体流程 浏览器 - 系统1 - 系统2 - 认证中心(SSO) 访问系统1 浏览器,访问系统1,询问认证中心是否登录 未登录,重定向一个登录页面返回给浏…

(二)原生js案例之数码时钟计时

原生js实现的数字时间上下切换显示时间的效果&#xff0c;有参考相关设计&#xff0c;思路比较难&#xff0c;代码其实很简单 效果 代码实现 必要的样式 <style>* {padding: 0;margin: 0;}.content{/* text-align: center; */display: flex;align-items: center;justif…

光盘防水嘛 ? DVD+R 刻录光盘泡水实验

首发日期 2024-07-20, 以下为原文内容: 同志们好, 欢迎来到 胖喵穷人实验室 ! 这里专注于 低成本, 低难度, 低风险 的 “三低” 小实验. 胖喵穷人实验室 (PM-PLab-E)正式名称: 紫腹巨蚊 (Toxorhynchites gravelyi) 系列穷人 (Poor people) 实验室风险警告: 低风险并不是零风险…

人工智能与语音识别:技术进步与应用前景

引言 人工智能&#xff08;AI&#xff09;作为当今科技进步的核心驱动力&#xff0c;正在各个领域展现其变革力量。其中&#xff0c;语音识别技术作为人工智能的重要应用之一&#xff0c;已经深入到我们的日常生活和工作中。从智能助手如Siri、Google Assistant&#xff0c;到智…

kubernetes k8s Deployment 控制器配置管理 k8s 红蓝部署 金丝雀发布

目录 1、Deployment控制器&#xff1a;概念、原理解读 1.1 Deployment概述 1.2 Deployment工作原理&#xff1a;如何管理rs和Pod&#xff1f; 2、Deployment资源清单文件编写技巧 3、Deployment使用案例&#xff1a;创建一个web站点 4、Deployment管理pod&#xff1a;扩…

科研绘图系列:R语言雨云图(Raincloud plot)

介绍 雨云图(Raincloud plot)是一种数据可视化工具,它结合了多种数据展示方式,旨在提供对数据集的全面了解。雨云图通常包括以下几个部分: 密度图(Density plot):表示数据的分布情况,密度图的曲线可以展示数据在不同数值区间的密度。箱线图(Box plot):显示数据的中…

模型剪枝入门

一、定义 1.定义 2. 案例1 3. 全局剪枝案例 4. 全局剪枝案例 5. 自定义剪枝 6. 特定网络剪枝 7. 多参数模块剪枝 8. torch.nn.utils.prune 解读 二、实现 定义 接口&#xff1a; import torch.nn.utils.prune as prune案例1 import torch.nn as nn import torch.nn.utils.…