【摘要】 鲲鹏软件迁移实践之软件包迁移
软件包迁移
1. 前言
- 常见的Linux发行版主要分为两类:类RedHat系列和类Debian系列。类RedHat系统中,软件包的格式是rpm;类Debian系统中,软件包的格式是deb。类RedHat系统提供了rpm(全称是:RedHat Package Manager)命令来安装、卸载和升级rmp软件包;类Debian系统提供了dpkg命令来安装、卸载、升级deb软件包。
2. rpm介绍
2.1 rpm软件包组成
- 应用程序
- 常见的开发语言有C、C++、Java、Python等,最终编译成应用程序,应用程序主要包括
- 常见的开发语言有C、C++、Java、Python等,最终编译成应用程序,应用程序主要包括
- rpm软件包文件组成
- rpm可以将应用程序打包,所以rpm包通常包含以上文件(二进制文件,so库文件,jar包,配置文件等)
- rpm可以将应用程序打包,所以rpm包通常包含以上文件(二进制文件,so库文件,jar包,配置文件等)
- 二进制和库文件
- rpm包中与处理器架构相关包括二进制(执行文件),库文件
- 所以将x86的rpm包重构到arm的rpm,需将rpm包含有x86的so、二进制文件,替换成arm架构so、二进制文件
2.2 rpm包获取渠道
- 鲲鹏平台的rpm包获取渠道
3. rpm迁移
3.1 传统的rpm重构过程
- 将x86 rpm包重构成鲲鹏rpm包流程
扫描(扫描X86 rpm,识别x86架构依赖文件)
编译(鲲鹏上重新编译x86依赖文件)
打包(鲲鹏上重新生成rpm包)
验证
3.2 鲲鹏开发者套件Porting Advisor
- 智能计算开放实验室:http://ic-openlabs.huawei.com/openlab/
- 鲲鹏开发套件Porting Advisor:https://www.huaweicloud.com/kunpeng/software/portingadvisor.html
Porting Advisor 工具实现迁移自动化
- Porting Advisor 工具实现了自动扫描,自动从鲲鹏Maven下载依赖文件,自动打包功能
4. rpm迁移实例
环境准备
Porting Advisor 快速重构rpm 包流程
软件分析构建中心实例
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END