[发明专利]一种评估Linux应用程序与操作系统兼容性的方法有效
申请号: | 202110040663.6 | 申请日: | 2021-01-13 |
公开(公告)号: | CN112835788B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 史长亭;法洪强;李晋 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150001 黑龙江省哈尔滨市南岗区*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 评估 linux 应用程序 操作 系统兼容性 方法 | ||
本发明属于软件可靠性技术领域,具体涉及一种评估Linux应用程序与操作系统兼容性的方法。本发明通过将操作系统中提供的动态链接库、接口和应用程序对外直接依赖和间接依赖的动态链接库、接口进行对比,得到二者的静态二进制兼容性结果,实现了Linux应用程序在不同发行版操作系统运行兼容性问题的检测。本发明可以检测到应用程序对操作系统的直接依赖,并基于一种递归策略实现检测应用程序的间接依赖。本发明根据应用程序对外依赖和操作系统提供的资源的匹配程度进行了有效的兼容性分级评估,帮助开发者清晰的了解应用程序与操作系统的兼容程度。
技术领域
本发明属于软件可靠性技术领域,具体涉及一种评估Linux应用程序与操作系统兼容性的方法。
背景技术
当前最为流行的计算机操作系统主要有Windows,MacOS和Linux,其中Windows操作系统和MacOS操作系统属于闭源操作系统,而Linux属于开源操作系统。在兼容性工作方面,微软公司在Windows上投入了大量的人力和财力来保证用户应用程序在多个版本的操作系统之间实现兼容,其采取的措施主要有:一方面保证暴露给应用程序的API的稳定性,一方面新版本系统继承旧版本系统的共享库打包到镜像中,再者,64位操作系统为了兼容32位应用程序还在系统中增加了32位系统文件;但是,在MacOS操作系统和Linux操作系统上,应用程序与操作系统之间的兼容性可能没有那么好。
在Linux操作系统上,如果需要安装一个应用程序,一些情况下更多会需要应用程序开发者或者使用者来保证与操作系统的兼容。由于Linux内核是开源的,任何人都能得到Linux内核源代码,这也导致了基于Linux内核开发的操作系统发行版非常多,常见的就有Ubuntu、CentOS、ArchLinux等,所以,Linux发行版不可能像Windows一样把各个版本的共享库都打包到镜像中。一种解决方案就是每个Linux发行版都有自己的包管理器和软件源。但是并不是每种软件源都包含所有的应用依赖文件,并且一些环境下(如某些涉密专用机等)是无法联网下载依赖的,所以如果想要应用程序跨Linux发行版运行,还是可能会出现一些兼容性问题。对于开发人员来说一种可行的方法就是在打包应用程序的同时将应用依赖的动态链接库打包。
针对Linux应用程序与操作系统兼容性检测的问题,Linux基金会发布了LinuxStandard Base(LSB)标准以达到应用程序的二进制规范,并且开发了linux-app-checker用来检测应用程序是否和某一特定Linux发行版兼容。但是针对兼容性检测的问题,linux-app-checker只能对几种Linux发行版进行兼容性检测,能够得到应用程序的外部依赖库、外部依赖函数等结果,但是因为其是使用给定的LSB接口集进行数据对比得到的结果,也可以说得到的是应用程序是否符合LSB规范,而许多进行过定制的或者裁剪过的操作系统则不适用,并且该工具的检测结果只是应用程序的直接外部依赖,不能保证得到应用程序的所有依赖。
发明内容
本发明的目的在于提供一种评估Linux应用程序与操作系统兼容性的方法。
本发明的目的通过如下技术方案来实现:包括以下步骤:
步骤1:对操作系统进行扫描,扫描路径选择“/”,得到操作系统在扫描路径“/”下的动态链接库集L;解析扫描路径“/”下的所有ELF文件,得到操作系统的接口集I;将操作系统在扫描路径“/”下的动态链接库集L和接口集I写入MySQL数据库;
步骤2:对操作系统进行扫描,扫描路径选择”/usr/lib”和”/lib”,得到操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL;解析扫描路径”/usr/lib”和”/lib”下的所有ELF文件,得到操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的接口集SI;将操作系统在默认动态链接库扫描路径”/usr/lib”和”/lib”下的动态链接库集SL和接口集SI写入MySQL数据库;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110040663.6/2.html,转载请声明来源钻瓜专利网。