---
title: 软件迁移评估（CLI）
description: "软件迁移评估 可帮助用户分析用户x86环境下软件包安装路径中的SO/DLL库文件，精准检测其与鲲鹏平台的兼容性，并为不兼容的文件提供替换下载链接。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/portingadvisor/softwareportingassessment/KunpengDevKitCli_0010.html
sourcePath: /source/zh/kunpengdevps/portingadvisor/softwareportingassessment/KunpengDevKitCli_0010.html
indexId: 4965b33fae9005b6baf523f96b048ce04f5b8f16d96fea345753bdf3e2ccfb3191
---
# 软件迁移评估（CLI）

软件迁移评估 可帮助用户分析用户x86环境下软件包安装路径中的SO/DLL库文件，精准检测其与鲲鹏平台的兼容性，并为不兼容的文件提供替换下载链接。

多模块并发时，不支持同时设置不同的日志级别。


#### 前提条件

- 已安装应用迁移工具。
- 使用压缩包安装工具时，请解压后切换至工具目录使用，采用./方式执行命令，例如./devkit porting -h。使用RPM包安装工具时，可直接执行命令，例如devkit porting -h。本章示例均为RPM包安装使用。


#### 命令功能

对软件包（非源码包）和已安装的软件进行扫描分析，提供迁移评估报告。


#### 命令格式

```
devkit porting pkg-mig [-h | --help] {-i INPUT_PATH | --input INPUT_PATH} [-o OUTPUT_PATH | --output OUTPUT_PATH] [-r {all,json,html,csv} | --report-type {all,json,html,csv}] [-l {0,1,2,3} | --log-level {0,1,2,3}] [--set-timeout TIMEOUT] [-t target-os | --target-os target-os] [-s FILE_PATH | --skip-config FILE_PATH] [--kp-compatibility]
```


#### 参数说明


**表1 参数说明**

| 参数 | 参数选项 | 参数说明 |
| --- | --- | --- |
| \-h/\-\-help | \- | 可选参数，获取帮助信息。 |
| \-i/\-\-input | \- | 必选参数，待扫描软件包的文件夹或软件包路径，若存在多个扫描路径需使用空格分隔。支持的软件包格式包括RPM、DEB、JAR/WAR包、TAR、ZIP、GZIP压缩文件等。 例如：/home/test1 /home/test2.jar。 |
| \-o/\-\-output | \- | 可选参数，扫描报告的存放路径，默认存放在当前执行路径下，报告名称为“特性名称\_时间戳”。 |
| \-r/\-\-report\-type | all/json/html/csv | 可选参数，扫描报告的格式，默认为all。 all：生成JSON、HTML、CSV三种格式报告。 json：生成JSON格式报告。 html：生成HTML格式报告。 csv：生成CSV格式报告。 |
| \-l/\-\-log\-level | 0/1/2/3 | 可选参数，设置日志级别，默认为1。 0：日志级别为DEBUG。 1：日志级别为INFO。 2：日志级别为WARNING。 3：日志级别为ERROR。 |
| \-\-set\-timeout | \- | 可选参数，任务超时时间，单位为分钟，若执行时间超过超时时间则退出执行。默认无超时时间，任务将持续执行直到结束。 |
| \-t/\-\-target\-os | 详见“\-h”帮助信息。 | 可选参数，迁移的目标操作系统，如果用户不输入则默认为当前操作系统。 |
| \-s/\-\-skip\-config | \- | 可选参数，配置扫描白名单，需要指定为绝对路径。每行填写一个需要跳过扫描的JAR包，扫描结果将不会展示该JAR包，示例如下： leveldbjni\-all\-1.8.jar snappy\-java\-1.0.4.1.jar |
| \-\-kp\-compatibility | \- | 可选参数，指定该选项将只进行鲲鹏平台跨代际的兼容性检查，目标平台为鲲鹏920新型号处理器，建议在完成x86到鲲鹏的迁移之后再使用该选项。 说明： 当前支持Java和Python语言。 |


#### 使用示例

此处以分析impala-2.9.0+cdh5.12.1+0-1.cdh5.12.1.p0.3.el7.x86_64.rpm软件为例，请根据实际情况替换为需要扫描的软件包路径。

```
devkit porting pkg-mig -i impala-2.9.0+cdh5.12.1+0-1.cdh5.12.1.p0.3.el7.x86_64.rpm
```

返回信息如下，并输出报告。

```
Current progress: ################################# [100%]
Scanned time: 2025/03/31 11:27:34

Task Information:
    Task name: 20250331112734
    Software package path: /home/software/impala-2.9.0+cdh5.12.1+0-1.cdh5.12.1.p0.3.el7.x86_64.rpm
    Target OS: openeuler20.03sp1
    Target OS Kernel Version: 4.19.90
    Task Status: Software porting assessment succeeded. Prepare the dependency files based on the suggestions.

Dependency file statistics:
    Adaptable for Compatibility: 6, To be Modified: 25, Total Dependencies: 31

For the detailed information, please check:
/home/DevKit_Software/pkg-mig_20250331032734_6daQmE_zh.csv
/home/DevKit_Software/pkg-mig_20250331032734_6daQmE.html
/home/DevKit_Software/pkg-mig_20250331032734_6daQmE_zh.json
```


#### 输出报告说明


**表2 迁移评估任务输出报告参数说明（以CSV为例）**

| 参数 | 说明 |
| --- | --- |
| 报告生成时间 | 显示报告的生成时间。 |
| 任务信息 | 显示任务名称、软件安装包存放路径或软件包名称、目标操作系统和目标系统内核版本以及任务状态。 |
| 依赖文件统计 | 软件包所依赖的与架构相关文件数。 |
| 与架构相关的依赖库文件 | 显示SO/DLL库文件。 针对兼容鲲鹏平台的动态库、静态库文件、软件包、可执行文件、JAR包等，用户可以根据URL中提供的链接，下载鲲鹏平台可用的文件，然后进行替换，或者下载鲲鹏版本源码，直接编译。对于一些未开源的依赖文件，工具无法提供下载URL，请自行获取后进行替换。具体操作可参见替换依赖文件。 针对鲲鹏平台兼容性未知的文件，请先在鲲鹏平台上验证。若不兼容，请联系供应方获取鲲鹏兼容版本，或获取源码并编译成鲲鹏兼容版本，或使用其他方案替代。 说明： 如果“处理建议”列中提示“该文件已兼容鲲鹏平台”（工具白名单中存在对应文件和链接，将会显示“download”按钮），则表示分析的对象是已迁移过的软件包或源码包且该x86依赖文件已在鲲鹏平台有对应鲲鹏依赖文件，无需进行替换。 |
