更新时间:2025-09-09 GMT+08:00
分享

评估软件兼容性

扫描方式

x2hce-ca工具支持两种软件包扫描方式,请明确要使用的扫描方式和待评估的软件包。

  • 扫描源操作系统上单个或多个应用软件包。
  • 扫描源操作系统上单个或多个目录下的所有应用软件包。

操作步骤

  1. 默认登录并切换到root用户下使用工具。
  2. 使用如下命令对软件包进行兼容性扫描。
    x2hce-ca scan <option> [-os_name 源系统名称] [-target_os_name 目标系统名称]

    使用以下命令验证Java默认版本:

    java -version

    • 若目标机器上已安装Java1.8.0,则自动执行后续扫描。
    • 若目标机器上未安装Java1.8.0,根据操作系统的不同处理方式有所不同。
      • 操作系统是HCE 2.0时,会自动安装缺失的Java依赖:java-1.8.0-openjdk-devel、java-1.8.0-openjdk和java-1.8.0-openjdk-headless。
      • 操作系统不是HCE 2.0时,会出现报错信息提示安装缺失的Java依赖。推荐执行以下命令自行安装。

        yum -y install java-1.8.0-openjdk-devel

    • 若目标机器上存在多个Java版本,且默认版本不是1.8.0时,用户需要执行以下命令手动设置Java默认版本为1.8.0。

      update-alternatives --config java

    <option>有如下设置:

    • Dir_Name/App_Name,扫描单个应用软件包。

      x86_64和aarch64操作系统架构为例:

      扫描/mnt/路径下的应用软件包NetworkManager-1.18.8-1.el7.x86_64.rpm。

      x2hce-ca scan /mnt/NetworkManager-1.18.8-1.el7.x86_64.rpm -os_name centos7.9 -target_os_name hce2.0

      扫描/mnt/路径下的应用软件包NetworkManager-1.18.8-1.el7.aarch64.rpm。

      x2hce-ca scan /mnt/NetworkManager-1.18.8-1.el7.aarch64.rpm -os_name EulerOSV2.0SP8arm -target_os_name hce2.0arm -arch aarch64

      其中-arch的默认值为x86_64。

    • Dir_Name1/App_Name1 Dir_Name2/App_Name2,扫描多个应用软件包。

      x86_64操作系统架构为例:

      扫描/opt/x2hce-ca/scan/路径下的应用软件包grep-3.4-0.h3.r3.eulerosv2r9.x86_64.rpm和/opt/x2hce-ca/scan/rpm/路径下的应用软件包groff-1.22.4-5.h1.eulerosv2r9.x86_64.rpm。

      x2hce-ca scan /opt/x2hce-ca/scan/grep-3.4-0.h3.r3.eulerosv2r9.x86_64.rpm /opt/x2hce-ca/scan/rpm/groff-1.22.4-5.h1.eulerosv2r9.x86_64.rpm -os_name centos7.9 -target_os_name hce2.0
    • -b Dir_Name,扫描单个目录下的所有应用包。

      例如,扫描directory1目录下的所有应用包。

      x2hce-ca scan -b directory1 -os_name centos7.9  -target_os_name hce2.0
    • -b Dir_Name1 Dir_Name2,扫描多个目录下的所有应用包。

      例如,扫描directory1和directory2目录下的所有应用包。

      x2hce-ca scan -b directory1 directory2 -os_name centos7.9 -target_os_name hce2.0

      建议单个目录下放置不超过750个文件,且文件总大小不超过900M,过多的软件包可能会导致工具故障。

    • -l rpm_Name,扫描本地安装的软件。
      例如,扫描openssl。
      x2hce-ca scan -l openssl
    • -l rpm_Name1,rpm_Name2...,扫描多个本地安装的软件。
      例如,扫描openssh和openssl。
      x2hce-ca scan -l openssl,openssh

      x2hce-ca只在CentOS系统中支持-l参数

    表1 参数类型

    参数

    参数类型

    说明

    -os_name

    String

    源操作系统。

    可选参数,默认参数为centos7.9,其他参数可参考工具概述

    例如设置为-os_name centos8.2,指选择源操作系统为CentOS 8.2。

    -target_os_name

    String

    目标操作系统。

    可选参数,

    HCE 2.0中默认参数为hce2.0其他参数可参考工具概述

    例如设置为-target_os_name hce1.1,指选择目标操作系统为Huawei Cloud EulerOS 1.1。

  3. 结果分析。

    以扫描/tmp/x2hce-ca_test目录下的三个RPM包为例,命令执行后的输出如图1所示。

    图1 扫描结果
    • 软件包的兼容性评估报告保存在/opt/x2hce-ca/output/software/目录下,请自行下载查看具体评估结果。
      • 每个软件包有同名HTML格式文件,软件包兼容的评估结果如图2
        图2 软件包兼容的评估结果

        软件包不兼容的评估结果如图3

        图3 软件包不兼容的评估结果
      • 详细的依赖包兼容性、接口兼容性等信息可在软件包同名xlsx格式文件中查看。
        图4 依赖包兼容性和接口兼容性信息
    • 对于扫描失败的应用软件包,请在/opt/x2hce-ca/output/software/目录下查看对应Excel报告。

相关文档