CN112286531A - Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法 - Google Patents

Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法 Download PDF

Info

Publication number
CN112286531A
CN112286531A CN202010995576.1A CN202010995576A CN112286531A CN 112286531 A CN112286531 A CN 112286531A CN 202010995576 A CN202010995576 A CN 202010995576A CN 112286531 A CN112286531 A CN 112286531A
Authority
CN
China
Prior art keywords
dpkg
rpm
package
database
deb
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010995576.1A
Other languages
English (en)
Other versions
CN112286531B (zh
Inventor
薛炜
穆瑞超
林超超
张希鹏
常涛
李震宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kirin Software Co Ltd
Original Assignee
Kirin Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kirin Software Co Ltd filed Critical Kirin Software Co Ltd
Priority to CN202010995576.1A priority Critical patent/CN112286531B/zh
Publication of CN112286531A publication Critical patent/CN112286531A/zh
Application granted granted Critical
Publication of CN112286531B publication Critical patent/CN112286531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法,包括:提供一个切库工具,通过分析rpm数据库中的包信息,将包的各个字段信息转换成dpkg数据库中的对应字段信息;提供一个数据同步工具,当使用dpkg安装新的deb包时,该工具会分析deb包的字段信息,并转换成rpm数据库对应的字段信息,同步回rpm的数据库中;提供一个包格式转换的工具,该工具可以使用户将redhat系linux发行版的rpm包转批量换成deb包,用来制作apt命令需要的apt源,让用户可以直接使用已经编译好的二进制rpm包。本发明可以将rpm的数据库的数据转换成dpkg数据库的数据,从而在安装deb包时可以处理包的依赖关系、冲突关系、文件冲突等逻辑。

Description

Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工 具的方法
技术领域
本发明涉及计算机程序工具兼容技术领域,具体涉及一种Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法。
背景技术
当前linux两个主流的操作系统redhat、debian都有各自的包格式以及包管理器,其中redhat系Linux发行版以rpm为软件包管理器来管理rpm格式软件包;debian系发行版以dpkg为软件包管理器来管理deb格式软件包。
rpm和dpkg软件包管理器在使用上有很大差异,例如rpm、dpkg命令格式、输出格式以及打包方法,所以对于debian系linux发行版的用户通常不习惯redhat系linux发行版的rpm软件包管理器,或者需要一些学习成本才能够使用redhat系linux发行版。
在redhat系linux发行版中支持dpkg软件包管理器现有方法如下:使用yum的epel源安装dpkg软件包管理器相关软件包,然而,该方法存下以下缺点:
1、安装dpkg软件包管理器后,软件包管理器的数据库中没有已安装的软件包信息,所以无法查询到已安装的包信息。
2、无法处理deb包的依赖关系、冲突关系及文件冲突。
3、可以通过增加--force-depends等参数,来忽略第2点中的处理,强制安装deb包,但这样安装后的deb软件包不一定可以正常使用。
4、由于rpm和dpkg两个软件包管理器都有各自的数据库保存包信息,所以使用dpkg软件包管理器安装deb包后,软件包信息不能够同步到rpm软件包管理器的数据库,使rpm无法查询到新安装的deb包信息。
发明内容
为解决已有技术存在的不足,本发明提供了Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法,包括如下步骤:
步骤S1:提供一个切库工具,该工具通过分析rpm数据库中的包信息,将包的各个字段信息转换成dpkg数据库中的对应字段信息,写入到dpkg数据库的数据文件中,使dpkg软件包管理器可以查询到已安装的包信息;
步骤S2:提供一个数据同步工具,当使用dpkg安装新的deb包时,该工具会分析deb包的字段信息,并转换成rpm数据库对应的字段信息,同步回rpm的数据库中,使rpm软件包管理器可以查询到通过dpkg安装的deb包信息;
步骤S3:提供一个包格式转换的工具,该工具可以使用户将redhat系linux发行版的rpm包转批量换成deb包,用来制作apt命令需要的apt源,让用户可以直接使用已经编译好的二进制rpm包。
其中,用户在操作阶段,通过如下步骤将RPM包管理工具切换为dpkg软件包管理器:
步骤S4:使用yum的epel源安装相关软件包及其依赖的软件包;
步骤S5:安装切库工具和数据同步工具;
步骤S6:执行切库工具,将rpm软件包管理的数据库信息转换成dpkg软件包管理器数据库信息;
步骤S7:使用dpkg软件包管理器管理包格式转换工具转换后的deb包;使用dpkg-buildpackage编译和打包deb包。
本发明提供的Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法,通过分析并建立rpm、deb两种包信息的对应关系,双向同步rpm、dpkg两种包管理器的数据信息,可以将rpm的数据库的数据转换成dpkg数据库的数据,从而在安装deb包时可以处理包的依赖关系、冲突关系、文件冲突等逻辑;并且,使用dpkg软件包管理器安装deb包后可以将包信息同步到rpm软件包管理器的数据库中。
附图说明
图1:本发明的Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法整体构思图。
图2:本发明的Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法实现流程图。
图3:本发明的Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法使用流程图。
具体实施方式
为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。
图1为本发明的Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法整体构思图,如图1所示,为了解决习惯使用dpkg软件包管理器管理软件的用户,在使用redhat系linux发行版时可以按照原使用习惯来管理软件包,不需要再花费时间去学习和习惯rpm软件包管理器相关的命令,本发明通过分析并建立rpm、deb两种包信息的对应关系,来双向同步rpm、dpkg两种包管理器的数据信息,使所有已经安装的包信息同时保存在两种软件包管理器的数据库中,从而实现了在redhat系linux发行版中可以支持dpkg软件包管理器,通过dpkg软件包管理器来管理软件的安装、卸载、更新、查询及打包等功能。
图2为本发明的Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法实现流程图,如图2所示,本发明的Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法,具体通过下述步骤实现:
1、提供一个切库工具,该工具通过分析rpm数据库中的包信息,将包的各个字段信息转换成dpkg数据库中的对应字段信息,写入到dpkg数据库的数据文件中,使dpkg软件包管理器可以查询到已安装的包信息。
切换工具的工作逻辑为:通过分析rpm包和deb包的包信息,发现两种包格式的信息字段基本上可以一一对应,例如rpm格式的包名为name字段,deb格式的包名为package字段,故切库工具本质上是利用所分析的对应关系将两种包格式的信息字段进行转换。
2、提供一个数据同步工具,当使用dpkg安装新的deb包时,该工具会分析deb包的字段信息,并转换成rpm数据库对应的字段信息,同步回写到rpm数据库中,使rpm软件包管理器可以查询到通过dpkg安装的deb包信息。
数据同步工具的工作逻辑与切库工具相同,只是将deb的包信息转换成了rpm的包信息。
3、提供一个包格式转换的工具,让用户可以将redhat系linux发行版的rpm包转批量换成deb包,用来制作apt命令需要的apt源,让用户可以直接使用已经编译好的二进制rpm包。
包格式转换工具的工作逻辑为:将rpm包解开,然后生成deb打包需要的配置文件,再使用deb的打包工具重新打包。
图3为本发明的Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法使用流程图,如图3所示,当用户需要切换为dpkg软件包管理器时:
1、使用yum的epel源安装dpkg,dpkg-buildpackage等相关软件包及其依赖的软件包。
2、安装切库工具和数据同步工具。
3、执行切库工具,将rpm软件包管理的数据库信息转换成dpkg软件包管理器数据库信息。
4、使用dpkg软件包管理器管理包格式转换工具转换后的deb包;使用dpkg-buildpackage编译和打包deb包。
本发明中,所谓的“epel”,其全称为 Extra Packages for Enterprise Linux,是基于Fedora的一个项目,为Red-Hat系的操作系统提供的额外的软件包。
本发明中,所谓的“dpkg-buildpackage”,是deb包的打包工具。
本发明通过分析并建立rpm、deb两种包信息的对应关系,双向同步rpm、dpkg两种包管理器的数据信息,可以将rpm的数据库的数据转换成dpkg数据库的数据,让安装deb包时可以处理包的依赖关系、冲突关系、文件冲突等逻辑;并且,使用dpkg软件包管理器安装deb包后可以将包信息同步到rpm软件包管理器的数据库中。
虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。

Claims (2)

1.Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法,其特征在于,包括如下步骤:
步骤S1:提供一个切库工具,该工具通过分析rpm数据库中的包信息,将包的各个字段信息转换成dpkg数据库中的对应字段信息,写入到dpkg数据库的数据文件中,使dpkg软件包管理器可以查询到已安装的包信息;
步骤S2:提供一个数据同步工具,当使用dpkg安装新的deb包时,该工具会分析deb包的字段信息,并转换成rpm数据库对应的字段信息,同步回rpm的数据库中,使rpm软件包管理器可以查询到通过dpkg安装的deb包信息;
步骤S3:提供一个包格式转换工具,该工具可以使用户将redhat系linux发行版的rpm包转批量换成deb包,用来制作apt命令需要的apt源,让用户可以直接使用已经编译好的二进制rpm包。
2.如权利要求1所述的Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法,其特征在于,用户在操作阶段,通过如下步骤将RPM包管理工具切换为dpkg软件包管理器:
步骤S4:使用yum的epel源安装相关软件包及其依赖的软件包;
步骤S5:安装切库工具和数据同步工具;
步骤S6:执行切库工具,将rpm软件包管理的数据库信息转换成dpkg软件包管理器数据库信息;
步骤S7:使用dpkg软件包管理器管理包格式转换工具转换后的deb包;使用dpkg-buildpackage编译和打包deb包。
CN202010995576.1A 2020-09-21 2020-09-21 Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法 Active CN112286531B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010995576.1A CN112286531B (zh) 2020-09-21 2020-09-21 Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010995576.1A CN112286531B (zh) 2020-09-21 2020-09-21 Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法

Publications (2)

Publication Number Publication Date
CN112286531A true CN112286531A (zh) 2021-01-29
CN112286531B CN112286531B (zh) 2023-07-04

Family

ID=74421008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010995576.1A Active CN112286531B (zh) 2020-09-21 2020-09-21 Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法

Country Status (1)

Country Link
CN (1) CN112286531B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127088A1 (en) * 2006-11-27 2008-05-29 Red Hat, Inc. Cross-platform software package generation
US20090064131A1 (en) * 2007-08-31 2009-03-05 Ferris James M Post-install configuration for applications
CN102118500A (zh) * 2010-12-27 2011-07-06 清华大学 移动终端开源操作系统基于软件包的在线自动更新方法
US20120137138A1 (en) * 2010-11-30 2012-05-31 Dennis George Gregorovic Package audit tool
US20120144378A1 (en) * 2010-12-06 2012-06-07 Red Hat, Inc. Methods for managing software packages using a version control system
CN103440156A (zh) * 2013-08-15 2013-12-11 国云科技股份有限公司 一种能用于多种系统下的Linux软件包制作方法
CN104375891A (zh) * 2014-11-04 2015-02-25 普华基础软件股份有限公司 一种应用程序管理系统
CN104679574A (zh) * 2013-11-26 2015-06-03 谢蓉 云计算中虚拟机镜像管理系统
CN106980501A (zh) * 2017-02-23 2017-07-25 北京小鸟看看科技有限公司 一种软件包管理方法、装置和系统
CN107577475A (zh) * 2017-08-22 2018-01-12 清华大学 一种数据中心集群系统的软件包管理方法及系统
CN108121544A (zh) * 2016-11-28 2018-06-05 央视国际网络无锡有限公司 一种c语言包管理器的实现方法
CN109032602A (zh) * 2018-06-07 2018-12-18 山东超越数控电子股份有限公司 一种软件自动适配操作系统的方法
CN110908703A (zh) * 2019-10-24 2020-03-24 中国船舶重工集团公司第七0九研究所 一种软件包仓库按需镜像方法、装置及系统
CN111338656A (zh) * 2020-02-25 2020-06-26 平安科技(深圳)有限公司 安装软件包至目标主机的方法、装置和计算机设备

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127088A1 (en) * 2006-11-27 2008-05-29 Red Hat, Inc. Cross-platform software package generation
US20090064131A1 (en) * 2007-08-31 2009-03-05 Ferris James M Post-install configuration for applications
US20120137138A1 (en) * 2010-11-30 2012-05-31 Dennis George Gregorovic Package audit tool
US20120144378A1 (en) * 2010-12-06 2012-06-07 Red Hat, Inc. Methods for managing software packages using a version control system
CN102118500A (zh) * 2010-12-27 2011-07-06 清华大学 移动终端开源操作系统基于软件包的在线自动更新方法
CN103440156A (zh) * 2013-08-15 2013-12-11 国云科技股份有限公司 一种能用于多种系统下的Linux软件包制作方法
CN104679574A (zh) * 2013-11-26 2015-06-03 谢蓉 云计算中虚拟机镜像管理系统
CN104375891A (zh) * 2014-11-04 2015-02-25 普华基础软件股份有限公司 一种应用程序管理系统
CN108121544A (zh) * 2016-11-28 2018-06-05 央视国际网络无锡有限公司 一种c语言包管理器的实现方法
CN106980501A (zh) * 2017-02-23 2017-07-25 北京小鸟看看科技有限公司 一种软件包管理方法、装置和系统
CN107577475A (zh) * 2017-08-22 2018-01-12 清华大学 一种数据中心集群系统的软件包管理方法及系统
CN109032602A (zh) * 2018-06-07 2018-12-18 山东超越数控电子股份有限公司 一种软件自动适配操作系统的方法
CN110908703A (zh) * 2019-10-24 2020-03-24 中国船舶重工集团公司第七0九研究所 一种软件包仓库按需镜像方法、装置及系统
CN111338656A (zh) * 2020-02-25 2020-06-26 平安科技(深圳)有限公司 安装软件包至目标主机的方法、装置和计算机设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MUHAMMAD H, ET AL.: "Taxonomy of package management in programming languages and operating systems", 《PLOS\'19》 *
S. MONGKOLLUKSAME, ET AL.: "A management system for software package distribution", 《IEEE》 *
刘晔: "云计算中虚似机镜像管理研究", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *
爆坑数据OFFICIAL: "Linux软件包管理器讲解", Retrieved from the Internet <URL:https://www.bilibili.com/read/cv5527538/> *

Also Published As

Publication number Publication date
CN112286531B (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
EP3709227B1 (en) System and method for interoperable communication of an automation system component with multiple information sources
US8005788B2 (en) System and method for legacy system component incremental migration
US10552783B2 (en) High performance map editor for business analysts
US11593357B2 (en) Databases and methods of storing, retrieving, and processing data
US8682459B2 (en) Device information setting apparatus and device information setting method
CN111736826A (zh) 多源遥感数据工程工具集系统及集成方法
CN110851511A (zh) 数据同步的方法及装置
WO2009120438A2 (en) Software framework for evolving specifications in process control systems
US7562099B1 (en) Graphical user interface for a media management system for communicating quality, source and accessibility information for media data and media objects
CN112559495A (zh) 一种支持多系统标签映射实现统一标签管理的系统
CN112286531A (zh) Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法
JP2011248852A (ja) システム連携装置
CN112230976A (zh) 同时支持两种软件包管理器并支持软件包相互依赖及冲突检测的方法
CN113076343B (zh) 数据查询方法、装置、设备及存储介质
CN113918627A (zh) 数据转换方法、装置和可读存储介质
US8417726B2 (en) Guided structure synchronization
CN113282284A (zh) 一种适配多定制化项目的打包方法及打包系统
CN113641760A (zh) 数据同步方法及装置
US11200078B1 (en) Facilitating use of an unfamiliar command line tool via a familiar command line tool
CN113050979B (zh) 安装操作系统的装机配置方法及装置,安装方法及装置
KR20190112544A (ko) 데이터 연계 시스템
CN117971782A (zh) 一种镜像管理方法及服务器
CN114942750A (zh) 对外接口的字段处理方法和装置
CN113434194A (zh) 持续集成与交付系统、方法、电子设备及存储介质
CN116414896A (zh) 基于元数据驱动的集成平台

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant