removed detection abi script
This commit is contained in:
parent
8a6375a07a
commit
e72fc5cfb5
643
0054-removed-detection-abi-script.patch
Normal file
643
0054-removed-detection-abi-script.patch
Normal file
@ -0,0 +1,643 @@
|
||||
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
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
Name: migration-tools
|
||||
Version: 1.0.2
|
||||
Release: 53
|
||||
Release: 54
|
||||
License: MulanPSL-2.0
|
||||
Summary: A tool to help users migrate the Centos system to the UOS system and openEuler system
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
@ -60,6 +60,8 @@ Patch50: 0050-check-free-space-in-system-disk.patch
|
||||
Patch51: 0051-add-basic-system-detection-information-and-upload-the-database.patch
|
||||
Patch52: 0052-increase-the-weight-of-abi-detection-result.patch
|
||||
Patch53: 0053-get-repository-detection-result.patch
|
||||
Patch54: 0054-removed-detection-abi-script.patch
|
||||
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRequires: systemd
|
||||
@ -158,6 +160,9 @@ rm -rf /usr/bin/migration-tools
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Tue Nov 5 2024 xuezhixin <xuezhixin@uniontech.com> - 1.0.2-54
|
||||
- 0054-removed-detection-abi-script.patch
|
||||
|
||||
* Tue Nov 5 2024 xuezhixin <xuezhixin@uniontech.com> - 1.0.2-53
|
||||
- 0053-get-repository-detection-result.patch
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user