migration-tools/0054-removed-detection-abi-script.patch
2024-11-06 15:55:43 +08:00

644 lines
20 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 0864ae482d003c316f7f03839e49d54133981698 Mon Sep 17 00:00:00 2001
From: xuezhixin <xuezhixin@uniontech.com>
Date: Fri, 10 Nov 2023 17:42:55 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4ABI=E6=A3=80=E6=B5=8B?=
=?UTF-8?q?=E8=84=9A=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sysmig_agent/Abisystmcompchk.sh | 458 --------------------------------
sysmig_agent/Abitranrept.sh | 153 -----------
2 files changed, 611 deletions(-)
delete mode 100755 sysmig_agent/Abisystmcompchk.sh
delete mode 100755 sysmig_agent/Abitranrept.sh
diff --git a/sysmig_agent/Abisystmcompchk.sh b/sysmig_agent/Abisystmcompchk.sh
deleted file mode 100755
index 15938fc..0000000
--- a/sysmig_agent/Abisystmcompchk.sh
+++ /dev/null
@@ -1,458 +0,0 @@
-#!/bin/bash
-########################变量定义#################################
-
-LOCAL_DIR=/var/tmp/uos-migration/data
-
-#原始数据目录
-UOS_DIR=$LOCAL_DIR/uos/rpms
-DIFF_DIR=$LOCAL_DIR/all-diff
-
-#输出结果目录
-EXP_DIR=$LOCAL_DIR/exp-rst
-
-#系统基本信息文件
-SYSTEM_INFO=systeminfo.txt
-
-#软件包对比文件
-PKG_COMP_LIST_01=pkginfo_1.txt
-PKG_COMP_LIST_02=pkginfo_2.txt
-PKG_COMP_LIST_04=pkginfo_4.txt
-
-#不兼容兼容定义
-START_CHANGE="================ changes of START==============="
-ENDS_CHANGE="================ end of changes of END==============="
-
-#兼容、不兼容检查结果输出列表
-ABI_COMPAT_PKG=abi-compat-pkg.txt
-ABI_INCOMPAT_PKG=abi-incompat-pkg.txt
-
-#生成总包文件
-UOS_PKG_RPMS_LIST=uos-pkg-rpms-list.txt
-OTH_PKG_RPMS_LIST=oth-pkg-rpms-list.txt
-
-ABI_DIFF_PKG_ERR=abi-diff-pkg-err.txt
-SUFFIX=.oked
-
-CACHE_SPACE="/var/tmp/uos-migration/UOS_analysis_report/rpmva-before.txt"
-
-#1. 创建目录
-create_file_path()
-{
- #接收yum仓库下载的rpm目录
- if [ ! -d "$UOS_DIR" ]
- then
- mkdir -p $UOS_DIR
- echo "mkdir -p $UOS_DIR success ... "
- fi
-
- #数据导出目录
- if [ ! -d "$EXP_DIR" ]
- then
- mkdir -p $EXP_DIR
- echo "mkdir -p $EXP_DIR success ... "
- fi
-
- #abidiff工具检测结果目录
- if [ ! -d "$DIFF_DIR" ]
- then
- mkdir -p $DIFF_DIR
- echo "mkdir -p $DIFF_DIR success ... "
- fi
-}
-
-#2. 获取rpm包列表,并解压rpm包
-get_rpm_list()
-{
- #清理历史数据
- if [ -f "$EXP_DIR/$UOS_PKG_RPMS_LIST" ]
- then
- rm -f $EXP_DIR/$UOS_PKG_RPMS_LIST
- fi
-
- if [ -f "$EXP_DIR/$OTH_PKG_RPMS_LIST" ]
- then
- rm -f $EXP_DIR/$OTH_PKG_RPMS_LIST
- fi
-
- #获取当前系统包列表
- for line in `rpm -qa | sort`
- do
- var=${line%-*}
- echo ${var%-*} >> $EXP_DIR/$OTH_PKG_RPMS_LIST
- done
-
- #源仓库批量下载当前系统包列表
- for downpkg in `cat $EXP_DIR/$OTH_PKG_RPMS_LIST`
- do
- string=$downpkg
- downpkg_list="${downpkg_list} ${string}"
- done
-
- yumdownloader --destdir=$UOS_DIR $downpkg_list --skip-broken
-
- #获取迁移系统包列表
- cd $UOS_DIR && for line1 in `ls *.rpm`;do var1=${line1%-*} echo ${var1%-*} >> $EXP_DIR/$UOS_PKG_RPMS_LIST ;done
-
- #当前系统与迁移系统共有的包列表
- grep -f $EXP_DIR/$UOS_PKG_RPMS_LIST $EXP_DIR/$OTH_PKG_RPMS_LIST > $EXP_DIR/$PKG_COMP_LIST_04
-
- #当前系统有,迁移系统无的包列表
- grep -wvf $EXP_DIR/$UOS_PKG_RPMS_LIST $EXP_DIR/$OTH_PKG_RPMS_LIST > $EXP_DIR/$PKG_COMP_LIST_02
-
- #根据包名找到对应的.rpm包,通过判断:(包名长度+1)个字符为数字判断是否为要解压的包
- for data in `cat $EXP_DIR/$PKG_COMP_LIST_04`
- do
- data_len=`expr length "$data"`
- len_char=`expr $data_len + 1`
-
- cmd_rst=`ls $data*`
- #针对同一包名多个查找结果处理
- for pkg_name in $cmd_rst
- do
- char=${pkg_name:$len_char:1}
- echo "$char" | [ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] && rpm2cpio $pkg_name | cpio -idmv
- if [ $? == 0 ];then
-
- #条件不完整,可根据情况添加检测的目录
- rpm -qpl $pkg_name | grep -v ".build-id\|\/etc\/\|\/share\/" > $EXP_DIR/rpm-pkg-info.txt
- deal_file $EXP_DIR/rpm-pkg-info.txt $data
- mv $UOS_DIR/$pkg_name $UOS_DIR/$pkg_name$SUFFIX
- fi
- done
- done
-}
-
-
-#根据解压列表,过滤出兼容性检测的文件
-deal_file()
-{
- #清理数据
- rm -f $EXP_DIR/$2.diff
-
- for line in `cat $1`
- do
- rst=`file -i $line`
- if [[ ${rst#*charset=} == "binary" ]];then
-
- #获取要对比的文件名
- uos_bin=${line##*\/}
-
- #获取要对比的文件名路径
- uos_path_1=${line#*\/}
- uos_path=${uos_path_1%%\/*}
-
- #获取本系统文件名
- rst_find=`find /$uos_path -name $uos_bin`
- if [[ ${rst_find} != 0 ]];then
-
- #做对比到处结果
- abidiff .$line $rst_find > $EXP_DIR/abidiff_comp_rst.txt
- #abidiff工具检测结果不存在报错
- if [[ ! -f "$EXP_DIR/abidiff_comp_rst.txt" ]];then
- echo "abidiff $line $rst_find err!!!!"
- continue
- else
- if [[ -s $EXP_DIR/abidiff_comp_rst.txt ]];then
-
- #存在不为空,按照abipkgdiff工具结果格式生成报告
- echo ${START_CHANGE//START/\'$uos_bin\'} >> $DIFF_DIR/$2.diff
- cat $EXP_DIR/abidiff_comp_rst.txt >> $DIFF_DIR/$2.diff
- echo ${ENDS_CHANGE//END/\'$uos_bin\'} >> $DIFF_DIR/$2.diff
- echo " " >> $DIFF_DIR/$2.diff
- else
- #存在为空,直接导入结果列表
- cat $EXP_DIR/abidiff_comp_rst.txt >> $DIFF_DIR/$2.diff
- fi
- fi
- fi
- fi
- done
-}
-
-#3. abi检查结果包括兼容、非兼容的二进制包
-# 逐个处理 .diff 结果文件
-get_abi_comp_rest()
-{
- echo ""
- echo "------------------------- 获取abi兼容、非兼容包列表开始 -------------------------"
- TOTAL_NUM=0
- TOTAL_COMP_NUM=0
- FILE_SO=".so"
- FILE_EXEC=".exec"
- FILE_MOD=".mod"
- DATA_LINE_1="================ changes"
- DATA_LINE_2="Functions changes summary: "
- DATA_LINE_3="Variables changes summary: "
- DATA_LINE_4="Function symbols changes summary: "
- DATA_LINE_5="Variable symbols changes summary: "
- ABI_DIFF_PKG_ABNO=abi-diff-pkg-abno.txt
- ABI_INCOMPAT_PKG_ERR=abi-incompat-pkg-err.txt
-
- ABI_COMPAT_PKG_LINE="包名"
- ABI_INCOMPAT_PKG_LINE1="abi不兼容的包有INCOMP_PKG_NUM|"
- ABI_INCOMPAT_PKG_LINE2="包名|不兼容类型|不兼容来源|说明"
-
- cd $DIFF_DIR
-
- #初始化文件头信息
- echo $ABI_COMPAT_PKG_LINE >> $EXP_DIR/$ABI_COMPAT_PKG
- echo $ABI_INCOMPAT_PKG_LINE1 >> $EXP_DIR/$ABI_INCOMPAT_PKG
- echo $ABI_INCOMPAT_PKG_LINE2 >> $EXP_DIR/$ABI_INCOMPAT_PKG
-
- for abi_diff_file in `ls *.diff`
- do
- TOTAL_NUM=`expr $TOTAL_NUM + 1`
- NAME=${abi_diff_file%.*}
- FILE_SIZE=`ls -l $abi_diff_file | awk '{print $5}'`
- if [ $FILE_SIZE -eq 0 ];then
- #abi兼容性对比结果文件大小为 0 ,该软件包兼容
- echo $NAME >> $EXP_DIR/$ABI_COMPAT_PKG
- TOTAL_COMP_NUM=`expr $TOTAL_COMP_NUM + 1`
- else
- #将差错报告按以下条件重定向到文件,并分析
- grep "^================ changes" --after-context=4 $abi_diff_file > $abi_diff_file.tmp
- if [ $? -ne 0 ];then
- grep_rest_tmp="$abi_diff_file|================ changes|grep non-existent!"
- echo $grep_rest_tmp >> $EXP_DIR/$ABI_DIFF_PKG_ABNO
- else
- sed -i '/^--$/d' $abi_diff_file.tmp
- fi
- NUM1=0
- #兼容性开关,0-兼容1-不兼容
- COMP_FLAG=0
- while read line
- do
- if [[ $line == *$DATA_LINE_1* ]];then
- NUM2=$(( $NUM1 % 5 ))
- if [ $NUM2 = 0 ];then
- str1=${line%\'*}
- data_line="${str1#*\'}"
- if [[ $data_line =~ $FILE_SO ]]
- then
- COMP_TYPE="库差异"
- elif [[ $data_line =~ $FILE_EXEC ]]
- then
- COMP_TYPE="可执行文件"
- elif [[ $data_line =~ $FILE_MOD ]]
- then
- COMP_TYPE="视频文件"
- else
- COMP_TYPE="二进制差异"
- fi
- else
- #该情况不规范,需要查看
- echo "$NAME|$COMP_TYPE|$data_line|$line" >> $EXP_DIR/$ABI_DIFF_PKG_ERR
- fi
- elif [[ $line == *$DATA_LINE_2* ]];then
- str2="${line#*: }"
- removed_num=${str2% Removed*}
- change_line=${str2% Changed*}
- change_num=${tmp#*, }
- added_line=${str2% Added*}
- added_num=${tmp1##*,}
- if [[ $removed_num -eq 0 ]] && [[ $change_num -eq 0 ]] && [[ $added_num -eq 0 ]]
- then
- abi_var_comp_2="${abi_diff_file%.*}|$line|兼容"
- else
- abi_var_incomp_2="$NAME|$COMP_TYPE|$data_line|$line"
- echo $abi_var_incomp_2 >> $EXP_DIR/$ABI_INCOMPAT_PKG
- #此时abi编译以来库文件或者二进制包不兼容那么该rpm包不兼容
- COMP_FLAG=1
- fi
- elif [[ $line == *$DATA_LINE_3* ]];then
- str3="${line#*: }"
- removed_num=${str3% Removed*}
- change_line=${str3% Changed*}
- change_num=${tmp#*, }
- added_line=${str3% Added*}
- added_num=${tmp1##*,}
- if [[ $removed_num -eq 0 ]] && [[ $change_num -eq 0 ]] && [[ $added_num -eq 0 ]]
- then
- #abi检查结果中rpm包以来的库文件或者二进制文件兼容
- abi_var_comp_3="${abi_diff_file%.*}|$line|兼容"
- else
- abi_var_incomp_3="$NAME|$COMP_TYPE|$data_line|$line|"
- echo $abi_var_incomp_3 >> $EXP_DIR/$ABI_INCOMPAT_PKG
- #此时abi编译以来库文件或者二进制包不兼容那么该rpm包不兼容
- COMP_FLAG=1
- fi
- elif [[ $line == *$DATA_LINE_4* ]];then
- str4=${line#*: }
- removed_num=${str4% Removed*}
- if [ $removed_num -ne 0 ]
- then
- #abi检查结果中rpm包依赖的库文件或者二进制文件不兼容
- abi_var_incomp_4="$NAME|$COMP_TYPE|$data_line|$str4"
- echo $abi_var_incomp_4 >> $EXP_DIR/$ABI_INCOMPAT_PKG
- COMP_FLAG=1
- else
- #此时abi编译依赖库文件或者二进制包兼容
- abi_var_comp_4="${abi_diff_file%.*}|$line|兼容"
- fi
- elif [[ $line == *$DATA_LINE_5* ]];then
- str5=${line#*: }
- removed_num=${str5% Removed*}
- if [ $removed_num -ne 0 ]
- then
- #abi检查结果中rpm包依赖的库文件或者二进制文件不兼容
- abi_var_incomp_5="$NAME|$COMP_TYPE|$data_line|$str5"
- echo $abi_var_incomp_5 >> $EXP_DIR/$ABI_INCOMPAT_PKG
- COMP_FLAG=1
- else
- #此时abi编译依赖库文件或者二进制包兼容
- abi_var_comp_5="${abi_diff_file%.*}|$line|兼容"
- fi
- else
- ohter_err_info="$NAME|$COMP_TYPE|$data_line|$line|"
- echo $other_err_info >> $EXP_DIR/$ABI_INCOMPAT_PKG_ERR
- fi
- NUM1=`expr $NUM1 + 1`
- done < ./$abi_diff_file.tmp
- #根据兼容性开发COMP_FLAG判断该rpm包是否兼容
- if [ $COMP_FLAG -eq 0 ]
- then
- echo $NAME >> $EXP_DIR/$ABI_COMPAT_PKG
- else
- NUM10=`expr $NUM1 + 1`
- fi
-
- fi
- done
- rm -f *.diff.tmp
-
- ABI_INCOMP_NUM_TMP=`cat $EXP_DIR/$ABI_INCOMPAT_PKG | awk -F "|" '{print $1}' | sort | uniq | wc -l`
- ABI_INCOMP_NUM=`expr $ABI_INCOMP_NUM_TMP - 2`
- sed -i 's/INCOMP_PKG_NUM/'$ABI_INCOMP_NUM'/g' $EXP_DIR/$ABI_INCOMPAT_PKG
- echo "兼容包列表:$EXP_DIR/$ABI_COMPAT_PKG"
- echo "非兼容包列表:$EXP_DIR/$ABI_INCOMPAT_PKG"
- echo "------------------------- 获取abi兼容、非兼容包列表结束 -------------------------"
-}
-
-#4. 获取系统基本信息
-get_system_info()
-{
- #数据清理
- rm -f $EXP_DIR/$SYSTEM_INFO
-
- #SYSTEM_INFO_1_LINE1="|当前系统|迁移系统"
- SYSTEM_INFO_1_LINE1="|当前系统"
- #SYSTEM_INFO_2_LINE2="系统版本|CUR_VERSION|TRA_VERSION"
- SYSTEM_INFO_2_LINE2="系统版本|CUR_VERSION"
- #SYSTEM_INFO_3_LINE3="内核版本|CUR_KERNEL_VERSION|TRA_KERNEL_VERSION"
- SYSTEM_INFO_3_LINE3="内核版本|CUR_KERNEL_VERSION"
-
- SYSTEM_INFO_5_LINE5="/var/cache可用空间|CUR_USE_SPACE"
- SYSTEM_INFO_6_LINE6="架构|CUR_ARCH"
-
- #SYSTEM_INFO_8_LINE8="软件包|被替换的软件包|安装的软件包"
- SYSTEM_INFO_8_LINE8="软件包|被替换的软件包"
- #SYSTEM_INFO_9_LINE9="软件包数量|REPLACE_PKG_NUM|INSTALL_PKG_NUM"
- SYSTEM_INFO_9_LINE9="软件包数量|REPLACE_PKG_NUM"
-
- SYSTEM_INFO_11_LINE11="ABI"
- SYSTEM_INFO_12_LINE12="兼容数量|COMP_NUM"
- SYSTEM_INFO_13_LINE13="不兼容数量|INCOMP_NUM"
- SYSTEM_INFO_14_LINE14="总数|SUM_NUM"
-
- echo $SYSTEM_INFO_1_LINE1 >> $EXP_DIR/$SYSTEM_INFO
-
- #获取系统版本
- cur_sysinfo_1=`cat /etc/os-release | grep PRETTY_NAME`
- cur_sysinfo_2=${cur_sysinfo_1#*=}
- cur_sysinfo_len_1=`echo ${cur_sysinfo_1#*=} | wc -L`
- cur_sysinfo_len=`expr $cur_sysinfo_len_1 - 2`
-
- cur_sysinfo=${cur_sysinfo_2:1:$cur_sysinfo_len}
-
- system_info_2_line2=${SYSTEM_INFO_2_LINE2//CUR_VERSION/$cur_sysinfo}
- echo $system_info_2_line2 >> $EXP_DIR/$SYSTEM_INFO
-
- #获取内核版本
- cur_kernel_info=`uname -r`
-
- system_info_3_line3=${SYSTEM_INFO_3_LINE3//CUR_KERNEL_VERSION/$cur_kernel_info}
- echo $system_info_3_line3 >> $EXP_DIR/$SYSTEM_INFO
- echo " " >> $EXP_DIR/$SYSTEM_INFO
-
- #cache空间及架构
- cur_cache_space_tmp=`head -1 $CACHE_SPACE`
- cur_cache_space=${cur_cache_space_tmp#*为}
- cur_system_arch=`uname -m`
-
- system_info_5_line5=${SYSTEM_INFO_5_LINE5//CUR_USE_SPACE/$cur_cache_space}
- echo $system_info_5_line5 >> $EXP_DIR/$SYSTEM_INFO
-
- system_info_6_line6=${SYSTEM_INFO_6_LINE6//CUR_ARCH/$cur_system_arch}
- echo $system_info_6_line6 >> $EXP_DIR/$SYSTEM_INFO
- echo " " >> $EXP_DIR/$SYSTEM_INFO
-
- echo $SYSTEM_INFO_8_LINE8 >> $EXP_DIR/$SYSTEM_INFO
-
- abi_comp_pkg_num_tmp=`cat $EXP_DIR/$ABI_COMPAT_PKG | wc -l`
- cur_pkg_num=`expr $abi_comp_pkg_num_tmp - 1`
-
- system_info_9_line9=${SYSTEM_INFO_9_LINE9//REPLACE_PKG_NUM/$cur_pkg_num}
- echo $system_info_9_line9 >> $EXP_DIR/$SYSTEM_INFO
- echo " " >> $EXP_DIR/$SYSTEM_INFO
-
- echo $SYSTEM_INFO_11_LINE11 >> $EXP_DIR/$SYSTEM_INFO
- system_info_12_line12=${SYSTEM_INFO_12_LINE12//COMP_NUM/$cur_pkg_num}
- echo $system_info_12_line12 >> $EXP_DIR/$SYSTEM_INFO
-
- abi_incomp_pkg_num_tmp=`cat $EXP_DIR/$ABI_INCOMPAT_PKG | awk -F "|" '{print $1}'| sort | uniq |wc -l`
- abi_incomp_pkg_num=`expr $abi_incomp_pkg_num_tmp - 2`
- system_info_13_line13=${SYSTEM_INFO_13_LINE13//INCOMP_NUM/$abi_incomp_pkg_num}
- echo $system_info_13_line13 >> $EXP_DIR/$SYSTEM_INFO
-
- abi_pkg_num=`expr $abi_comp_pkg_num + $abi_incomp_pkg_num`
- system_info_14_line14=${SYSTEM_INFO_14_LINE14//SUM_NUM/$abi_pkg_num}
- echo $system_info_14_line14 >> $EXP_DIR/$SYSTEM_INFO
-
- #echo "====================End enter get_system_info=============="
-}
-
-#5. 软件包对比
-pkg_comp_rst()
-{
- #软件包对比文件头定义
- PKGINFO_1_LINE1="待替换/安装的软件包共SUM1个新安装的软件包共SUM2个"
- PKGINFO_2_LINE2="当前系统持有(不替换)|迁移系统软件包总表"
- PKGINFO_3_LINE3="OTH_VERSION|UOS_VERSION"
-
- #echo "==============Start enter pkg_comp_rst========="
- #清理数据
- rm -f $EXP_DIR/$PKG_COMP_LIST_01
-
- pkg_sum_num=`cat $EXP_DIR/$UOS_PKG_RPMS_LIST | wc -l`
- pkg_num_inst_tmp=`cat $EXP_DIR/$ABI_COMPAT_PKG | wc -l`
- pkg_num_inst=`expr $pkg_num_inst_tmp - 1`
-
-
- pkginfo_1_line1_tmp=${PKGINFO_1_LINE1//SUM1/$pkg_sum_num}
- pkginfo_1_line1=${pkginfo_1_line1_tmp//SUM2/$pkg_num_inst}
-
- echo $pkginfo_1_line1 >> $EXP_DIR/$PKG_COMP_LIST_01
-
- echo $PKGINFO_2_LINE2 >> $EXP_DIR/$PKG_COMP_LIST_01
-
- #获取系统版本
- cur_sysinfo_1=`cat /etc/os-release | grep PRETTY_NAME`
- cur_sysinfo_2=${cur_sysinfo_1#*=}
- cur_sysinfo_len_1=`echo ${cur_sysinfo_1#*=} | wc -L`
- cur_sysinfo_len=`expr $cur_sysinfo_len_1 - 2`
-
- cur_sysinfo=${cur_sysinfo_2:1:$cur_sysinfo_len}
-
- trans_sysinfo_1="UOS Server Enterprise "
-
- pkginfo_3_line3_tmp=${PKGINFO_3_LINE3//OTH_VERSION/$cur_sysinfo}
- pkginfo_3_line3=${pkginfo_3_line3_tmp//UOS_VERSION/$trans_sysinfo_1}
- echo $pkginfo_3_line3 >> $EXP_DIR/$PKG_COMP_LIST_01
-
-}
-
-create_file_path
-get_rpm_list
-get_abi_comp_rest
-get_system_info
-pkg_comp_rst
\ No newline at end of file
diff --git a/sysmig_agent/Abitranrept.sh b/sysmig_agent/Abitranrept.sh
deleted file mode 100755
index 891e6f2..0000000
--- a/sysmig_agent/Abitranrept.sh
+++ /dev/null
@@ -1,153 +0,0 @@
-#!/bin/bash
-
-#系统迁移后调用该脚本获取迁移后系统信息,为迁移后生成报告准备
-
-LOCAL_DIR=/var/tmp/uos-migration/data
-#LOCAL_DIR=/var/data
-
-#输出结果目录
-EXP_DIR=$LOCAL_DIR/exp-rst
-
-#系统基本信息文件
-SYSTEM_INFO=systeminfo.txt
-TRAND_END_SYSINFO=trans-end-sysinfo.txt
-
-#软件包对比文件
-PKG_COMP_LIST_01=pkginfo_1.txt
-PKG_COMP_LIST_01_TRANS=pkginfo_1_trans.txt
-PKG_COMP_LIST_03=pkginfo_3.txt
-
-#1. 获取迁移后系统基本信息
-get_system_info()
-{
- #数据清理
- rm -f $EXP_DIR/$TRAND_END_SYSINFO
-
- line_num=1
- while read line
- do
- if [ $line_num -eq 1 ];then
- SYSTEM_INFO_1_LINE1="$line|迁移系统"
- echo $SYSTEM_INFO_1_LINE1 >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 2 ];then
- #获取系统版本
- cur_sysinfo_1=`cat /etc/os-release | grep PRETTY_NAME`
- cur_sysinfo_2=${cur_sysinfo_1#*=}
- cur_sysinfo_len_1=`echo ${cur_sysinfo_1#*=} | wc -L`
- cur_sysinfo_len=`expr $cur_sysinfo_len_1 - 2`
-
- cur_sysinfo=${cur_sysinfo_2:1:$cur_sysinfo_len}
-
- SYSTEM_INFO_2_LINE2="$line|$cur_sysinfo"
- echo $SYSTEM_INFO_2_LINE2 >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 3 ];then
- #当前系统版本
- cur_kernel_info=`uname -r`
- SYSTEM_INFO_3_LINE3="$line|$cur_kernel_info"
- echo $SYSTEM_INFO_3_LINE3 >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 4 ];then
- echo "" >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 5 ];then
- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 6 ];then
- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 7 ];then
- echo "" >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 8 ];then
- SYSTEM_INFO_8_LINE8="$line|安装的软件包"
- echo $SYSTEM_INFO_8_LINE8 >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 9 ];then
- install_num=`rpm -qa | grep uelc20 | wc -l`
- SYSTEM_INFO_9_LINE9="$line|$install_num"
- echo $SYSTEM_INFO_9_LINE9 >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 10 ];then
- echo "" >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 11 ];then
- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 12 ];then
- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 13 ];then
- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- if [ $line_num -eq 14 ];then
- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO
- fi
-
- line_num=`expr $line_num + 1`
-
- done < $EXP_DIR/$SYSTEM_INFO
-}
-
-#5. 软件包对比
-pkg_comp_rst()
-{
- VAR_LINE="迁移系统特有(新安装)"
-
- #清理数据
- rm -f $EXP_DIR/$PKG_COMP_LIST_01_TRANS
-
- line_num=1
-
- while read line
- do
-
- if [ $line_num -eq 1 ];then
- echo $line >> $EXP_DIR/$PKG_COMP_LIST_01_TRANS
- fi
-
- if [ $line_num -eq 2 ];then
- var_1=${line%|*}
- var_2=${line#*|}
- PKGINFO_2_LINE2="$var_1|$VAR_LINE|$var_2"
- echo $PKGINFO_2_LINE2 >> $EXP_DIR/$PKG_COMP_LIST_01_TRANS
- fi
-
- if [ $line_num -eq 3 ];then
- echo $line >> $EXP_DIR/$PKG_COMP_LIST_01_TRANS
- fi
-
- line_num=`expr $line_num + 1`
- done < $EXP_DIR/$PKG_COMP_LIST_01
-
- #获取已安装包列表
- for line1 in `rpm -qa | grep uelc20`
- #for line1 in `rpm -qa | grep el8`
- do
- var1=${line1%-*}
- echo ${var1%-*} >> $EXP_DIR/$PKG_COMP_LIST_03
- done
-
- #迁移完成后uelc20包列表不为空如果为空创建空文件以便统计汇总xls
- if [ ! -f $EXP_DIR/$PKG_COMP_LIST_03 ];then
- touch $EXP_DIR/$PKG_COMP_LIST_03
- fi
-}
-
-get_system_info
-pkg_comp_rst
-
--
2.20.1