From d83a0d68484a0da31402144869d4121133cdb493 Mon Sep 17 00:00:00 2001 From: angie_j_dou Date: Mon, 13 Mar 2023 13:44:37 +0800 Subject: [PATCH] =?UTF-8?q?update=20lib=5Fchecker=20=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...77\347\224\250\350\257\264\346\230\216.MD" | 70 +++++++++++++++++-- LibChecker/lib_checker.py | 5 +- README.md | 36 ++++++---- 3 files changed, 93 insertions(+), 18 deletions(-) diff --git "a/Docs/LibChecker\344\275\277\347\224\250\350\257\264\346\230\216.MD" "b/Docs/LibChecker\344\275\277\347\224\250\350\257\264\346\230\216.MD" index 414a488..f3adeb6 100644 --- "a/Docs/LibChecker\344\275\277\347\224\250\350\257\264\346\230\216.MD" +++ "b/Docs/LibChecker\344\275\277\347\224\250\350\257\264\346\230\216.MD" @@ -5,7 +5,69 @@ libchecker 是一款检查操作系统当前环境多包含的动态库是否 python 3.7+ ## 使用方法 -1. 进入OSAPIChecker主目录 -cd OSAPIChecker -2. 使用python3执行libchecker检查工具 -python3 LibChecker/lib_checker.py + +#### 1. 运行方式 + +运行子程序有两种方式,可以使用主程序单独调用,也可以单独运行子程序: + +方式一:主程序调用子程序 + +``` +./OSChecker.py --channel=libchecker +或者 +./OSChecker.py -c libchecker +``` + +方式二:单独运行子程序 + +``` +python3 LibChecker/lib_checker.py +``` + +运行说明: + +上述两种运行方式都是使用默认的方式进行检测,默认参数如下(详细信息参见[3.2 参数解析]): + +``` +--strategy=basic --level=l1l2 --ostype=desktop --pkgmngr=apt-deb +``` + + +#### 2 参数解析 + +``` +python3 LibChecker/lib_checker.py [-h] [-s STRATEGY] [-l LEVEL] [-t OSTYPE] [-p PKGMNGR] [-o ORGANIZE] [-j JSON] [-T TIMETMP] +``` + + 解析: + + -h, --help: +  显示帮助信息 + + -s STRATEGY, --strategy STRATEGY: +  选择测试的库的类型(basic、expansion、with-expand) +  其中,with-expand是(basic+expansion) +  默认是basic + + -l LEVEL, --level LEVEL: +  选择测试的级别(l1、l2、l3或者是三者组合) +  默认是l1l2 + + -t OSTYPE, --ostype OSTYPE: +  选择测试的OS类型(desktop、server) +  默认是desktop + + -p PKGMNGR, --pkgmngr PKGMNGR: +  选择测试的软件包类别(apt-deb、yum-rpm) +  默认是apt-deb + + -o ORGANIZE, --organize ORGANIZE +  送测单位名称,默认是空 + + -T TIMETMP, --timetmp TIMETMP +  测试时间,默认会自动获取当前时间,也可以自己指定时间信息。 + + +#### 3 日志 + +LibChecker 执行的日志位于: OSAPIChecker/Logs 下, 输出结果存放于: OSAPIChecker/Outputs 下. diff --git a/LibChecker/lib_checker.py b/LibChecker/lib_checker.py index 8e08e75..ceb1fdc 100755 --- a/LibChecker/lib_checker.py +++ b/LibChecker/lib_checker.py @@ -37,7 +37,10 @@ g_inputpkgmngr = args.pkgmngr g_inputorganize = args.organize g_inputjson = args.json -g_time_stamp = args.timetmp +if (args.timetmp == None): + g_time_stamp = time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime()) +else: + g_time_stamp = args.timetmp g_cpu_type = os.popen('uname -m').read().rstrip('\n') g_output_filename = "Outputs/libchecker-output_" + g_cpu_type + "_" + g_time_stamp + ".json" g_output_logname = "Logs/libchecker_" + g_time_stamp + ".log" diff --git a/README.md b/README.md index d4f03af..5570c78 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ - # OSAPIChecker ## 介绍 @@ -12,10 +11,8 @@ Operating system API compliance check tool. ----操作系统API符合性检查 ## 安装教程 -可以直接下载运行。 - -运行程序前,需要确定系统中有以下软件: - +可以直接下载运行。 +运行程序前,需要确定系统中有以下软件: python 3.7+ golang 1.13+ python3-reportlab(或者使用pip安装reportlab) @@ -46,8 +43,7 @@ cd OSAPIChecker ./OSAPIChecker.py ``` -运行说明: - +运行说明: 直接运行主程序,会使用默认的方式进行检测,默认参数如下(详细信息参见[1.2 参数解析]): ``` @@ -106,6 +102,8 @@ LibChecker是测试工具的中检测当前操作系统环境包含的动态库 ``` ./OSChecker.py --channel=libchecker +或者 +./OSChecker.py -c libchecker ``` 方式二:单独运行子程序 @@ -123,7 +121,6 @@ python3 LibChecker/lib_checker.py ``` - #### 3.2 参数解析 ``` @@ -176,6 +173,8 @@ CmdChecker是一款检查操作系统内置命令是否符合标准的快捷工 ``` ./OSChecker.py --channel=cmdchecker +或者 +./OSChecker.py -c cmdchecker ``` 方式二:单独运行子程序 @@ -232,6 +231,8 @@ FsChecker是款检查操作系统文件系统是否符合标准的快捷工具 ``` ./OSChecker.py --channel=fschecker +或者 +./OSChecker.py -c fschecker ``` 方式二:单独运行子程序 @@ -284,6 +285,8 @@ ServiceChecker 是一款检查操作系统管理软件systemd是否符合标准 ``` sudo ./OSChecker.py --channel=servicechecker +或者 +./OSChecker.py -c servicechecker ``` 方式二:单独运行子程序 @@ -334,7 +337,7 @@ usage: pdf.py [-h] [-r RESULT] [-e ENV] [-l LIB] [-f FS] [-c CMD] [-s SERVER]  -l LIB, --lib LIB   指定运行库检查结果文件路径 -  +  -f FS, --fs FS   指定文件系统层次结构检查结果文件路径 @@ -348,8 +351,6 @@ usage: pdf.py [-h] [-r RESULT] [-e ENV] [-l LIB] [-f FS] [-c CMD] [-s SERVER] ServiceChecker 执行的日志位于: OSAPIChecker/Logs 下,输出结果存放于: OSAPIChecker/Outputs 下. - - ## 常用举例说明 1、当我们想要检测桌面、DEB格式软件包、basic类型、L1L2级别的libchecker,以及其他三项子项目并需要生成检测报告时,可以运行以下命令: @@ -357,7 +358,9 @@ ServiceChecker 执行的日志位于: OSAPIChecker/Logs 下,输出结果存放 ``` ./OSAPIChecker.py -R 或者 -./OSAPIChecker.py --channel=all --strategy=basic --level=l1l2 --ostype=desktop --pkgmngr=apt-deb -R +./OSAPIChecker.py --channel=all --strategy=basic --level=l1l2 --ostype=desktop --pkgmngr=apt-deb --reports +或者 +./OSAPIChecker.py -c all -s basic -l l1l2 -t desktop -p apt-deb -R ``` 以上两条命令输出结果一致。 @@ -365,18 +368,25 @@ ServiceChecker 执行的日志位于: OSAPIChecker/Logs 下,输出结果存放 2、当我们需要检测服务器、RPM格式软件包、basic类型、L1L2级别的libchecker,以及其他三项子项目并需要生成检测报告时,可以运行以下命令: ``` -./OSAPIChecker.py --channel=all --strategy=basic --level=l1l2 --ostype=server --pkgmngr=yum-rpm -R +./OSAPIChecker.py --channel=all --strategy=basic --level=l1l2 --ostype=server --pkgmngr=yum-rpm --reports +或者 +./OSAPIChecker.py -c all -s basic -l l1l2 -t server -p yum-rpm -R ``` 3、当我们需要检测服务器、RPM格式软件包、basic+expansion类型、L1L2级别的libchecker,可以运行以下命令: ``` ./OSAPIChecker.py --channel=libchecker --strategy=with-expand --level=l1l2 --ostype=server --pkgmngr=yum-rpm +或者 +./OSAPIChecker.py -c libchecker -s with-expand -l l1l2 -t server -p yum-rpm ``` 4、当我们需要检测服务器、RPM格式软件包、expansion类型、L1L2级别的libchecker,并单独生成报告时,可以运行以下命令: ``` ./OSAPIChecker.py --channel=libchecker --strategy=expansion --level=l1l2 --ostype=server --pkgmngr=yum-rpm -R +或者 +./OSAPIChecker.py -c libchecker -s expansion -l l1l2 -t server -p yum-rpm ``` + -- Gitee