微认证:鲲鹏软件迁移实践 —— 软件包迁移
【摘要】 鲲鹏软件迁移实践之软件包迁移
软件包迁移
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 包流程

软件分析构建中心实例

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)