
# 评估软件兼容性
#### 扫描方式
x2hce-ca工具支持两种软件包扫描方式，请明确要使用的扫描方式和待评估的软件包。
- 扫描源操作系统上单个或多个应用软件包。
- 扫描源操作系统上单个或多个目录下的所有应用软件包。
 
#### 操作步骤
此操作步骤以HCE 2.0为例。
1. 默认登录并切换到root用户下使用工具。
2. 使用如下命令对软件包进行兼容性扫描。
   ```
   x2hce-ca scan <option> [-os_name 源系统名称] [-target_os_name 目标系统名称]
   ```
   ![](https://support.huaweicloud.com/usermanual-hce/public_sys-resources/note_3.0-zh-cn.png)
   使用以下命令验证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
     ```
     ![](https://support.huaweicloud.com/usermanual-hce/public_sys-resources/note_3.0-zh-cn.png)
     其中**-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
     ```
     ![](https://support.huaweicloud.com/usermanual-hce/public_sys-resources/note_3.0-zh-cn.png)
     建议单个目录下放置不超过750个文件，且文件总大小不超过900M，过多的软件包可能会导致工具故障。
     
   
   - -l rpm_Name，扫描本地安装的软件。
     例如，扫描openssl。
     ```
     x2hce-ca scan -l openssl
     ```
     
   
   - -l rpm_Name1,rpm_Name2...，扫描多个本地安装的软件。
     例如，扫描openssh和openssl。
     ```
     x2hce-ca scan -l openssl,openssh
     ```
     ![](https://support.huaweicloud.com/usermanual-hce/public_sys-resources/note_3.0-zh-cn.png)
     x2hce-ca只在CentOS系统中支持-l参数。
     
   
   
   表1参数类型 
   | 参数              | 参数类型   | 说明                                                                                                                                                                                                                                                                                         |
   |:---|:---|:---|
   | -os_name        | String | 源操作系统。 可选参数，默认参数为centos7.9，其他参数可参考[工具概述](https://support.huaweicloud.com/usermanual-hce/hce_02_0006.html)。 例如设置为-os_name centos8.2，指选择源操作系统为CentOS 8.2。                                                                       |
   | -target_os_name | String | 目标操作系统。 可选参数， HCE 2.0中默认参数为hce2.0， 3.0中默认参数为hce3.0，其他参数可参考[工具概述](https://support.huaweicloud.com/usermanual-hce/hce_02_0006.html)。 例如设置为-target_os_name hce1.1，指选择目标操作系统为Huawei Cloud EulerOS 1.1。 |
      
   
3. 结果分析。 以扫描/tmp/x2hce-ca_test目录下的三个RPM包为例，命令执行后的输出如[图1]所示。
   图1扫描结果   
   ![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002512088949.png "点击放大")
   - 软件包的兼容性评估报告保存在/opt/x2hce-ca/output/software/目录下，请自行下载查看具体评估结果。
     - 每个软件包有同名HTML格式文件，软件包兼容的评估结果如[图2]。
       图2软件包兼容的评估结果   
       ![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002512128973.png "点击放大")
       软件包不兼容的评估结果如[图3]。
       图3软件包不兼容的评估结果   
       ![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002480089050.png "点击放大") 
     
     - 详细的依赖包兼容性、接口兼容性等信息可在软件包同名xlsx格式文件中查看。
       图4依赖包兼容性和接口兼容性信息   
       ![](https://support.huaweicloud.com/usermanual-hce/zh-cn_image_0000002512128971.png "点击放大") 
      
   
   - 对于扫描失败的应用软件包，请在/opt/x2hce-ca/output/software/目录下查看对应Excel报告。
    
 
