CN111258850B - 一种基于Linux系统的更新软件信息的方法及装置 - Google Patents

一种基于Linux系统的更新软件信息的方法及装置 Download PDF

Info

Publication number
CN111258850B
CN111258850B CN202010033623.4A CN202010033623A CN111258850B CN 111258850 B CN111258850 B CN 111258850B CN 202010033623 A CN202010033623 A CN 202010033623A CN 111258850 B CN111258850 B CN 111258850B
Authority
CN
China
Prior art keywords
software
thread
stored
execution
pid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010033623.4A
Other languages
English (en)
Other versions
CN111258850A (zh
Inventor
于雷
刘金朋
李常坤
张聪
汤迪斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qax Technology Group Inc
Secworld Information Technology Beijing Co Ltd
Original Assignee
Qax Technology Group Inc
Secworld Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qax Technology Group Inc, Secworld Information Technology Beijing Co Ltd filed Critical Qax Technology Group Inc
Priority to CN202010033623.4A priority Critical patent/CN111258850B/zh
Publication of CN111258850A publication Critical patent/CN111258850A/zh
Application granted granted Critical
Publication of CN111258850B publication Critical patent/CN111258850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种基于Linux系统的更新软件信息的方法及装置,所述方法包括:启动第一线程监视对软件进行的执行操作,并存储事件PID;启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。所述装置执行上述方法。本发明实施例提供的基于Linux系统的更新软件信息的方法及装置,能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。

Description

一种基于Linux系统的更新软件信息的方法及装置
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于Linux系统的更新软件信息的方法及装置。
背景技术
为了保证国家信息安全,政府和央企等需要使用国产操作系统,例如中标麒麟、银河麒麟和深度等。
在使用国产操作系统的过程中,经常会发生操作人员错误地安装恶意软件或卸载掉与国产操作系统相关的重要软件,这种问题一旦发生,追溯起来会特别困难。面对此类问题,需要及时对国产操作系统中的软件信息进行更新,进而可以追溯、并解决上述问题。
现有技术中的实现更新软件信息的方法都是基于windows操作系统的,对于国产操作系统通常采用的Linux系统,目前还没有行之有效的方法能够解决上述问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种基于Linux系统的更新软件信息的方法及装置。
本发明实施例提供一种基于Linux系统的更新软件信息的方法,包括:
启动第一线程监视对软件进行的执行操作,并存储事件PID;
启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;
若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
其中,所述启动第一线程监视对软件进行的执行操作,并存储事件PID,包括:
预先在bprm_check_security中注册感知软件执行操作的逻辑,并采用所述bprm_check_security启动第一线程,以监视对软件进行的执行操作,并存储事件PID。
其中,所述启动第二线程监视对软件进行的执行完成操作,包括:
预先在task_free中注册可通过存储的事件PID感知软件执行完成操作的逻辑,并采用所述task_free启动第二线程,以监视对软件进行的执行完成操作。
其中,所述Linux系统包括debian系统或redhat系统;相应的,所述启动第一线程监视对软件进行的执行操作,并存储事件PID,包括:
在所述debian系统中捕获dpkg操作,并启动第一线程监视所述dpkg操作对应的执行操作,并存储事件PID;
或者,在所述redhat系统中捕获rpm操作,并启动第一线程监视所述rpm操作对应的执行操作,并存储事件PID。
其中,所述Linux系统包括debian系统或redhat系统;相应的,所述启动第二线程监视对软件进行的执行完成操作,包括:
在所述debian系统中捕获dpkg操作,并启动第二线程监视所述dpkg操作对应的执行完成操作;
或者,在所述redhat系统中捕获rpm操作,并启动第二线程监视所述rpm操作对应的执行完成操作。
其中,预先存储的软件信息所述更新所述Linux系统中的预先存储的软件信息,包括:
将所述预先存储的软件信息和当前软件列表进行对比,根据对比结果确定更新的软件信息,并根据所述更新的软件信息更新所述预先存储的软件信息。
其中,更新的软件信息,包括:
软件安装信息、软件卸载信息和软件版本升级信息中的至少一种。
本发明实施例提供一种基于Linux系统的更新软件信息的装置,包括:
第一启动单元,用于启动第一线程监视对软件进行的执行操作,并存储事件PID;
第二启动单元,用于启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;
更新单元,用于若判断存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
其中,所述第一启动单元具体用于:
预先在bprm_check_security中注册感知软件执行操作的逻辑,并采用所述bprm_check_security启动第一线程,以监视对软件进行的执行操作,并存储事件PID。
其中,所述第二启动单元具体用于:
预先在task_free中注册可通过存储的事件PID感知软件执行完成操作的逻辑,并采用所述task_free启动第二线程,以监视对软件进行的执行完成操作。
其中,所述Linux系统包括debian系统或redhat系统;相应的,所述第一启动单元具体用于:
在所述debian系统中捕获dpkg操作,并启动第一线程监视所述dpkg操作对应的执行操作,并存储事件PID;
或者,在所述redhat系统中捕获rpm操作,并启动第一线程监视所述rpm操作对应的执行操作,并存储事件PID。
其中,所述Linux系统包括debian系统或redhat系统;相应的,所述第二启动单元具体用于:
在所述debian系统中捕获dpkg操作,并启动第二线程监视所述dpkg操作对应的执行完成操作;
或者,在所述redhat系统中捕获rpm操作,并启动第二线程监视所述rpm操作对应的执行完成操作。
其中,所述更新单元具体用于:
将所述预先存储的软件信息和当前软件列表进行对比,根据对比结果确定更新的软件信息,并根据所述更新的软件信息更新所述预先存储的软件信息。
其中,更新的软件信息,包括:
软件安装信息、软件卸载信息和软件版本升级信息中的至少一种。
本发明实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,
所述处理器执行所述程序时实现如下方法步骤:
启动第一线程监视对软件进行的执行操作,并存储事件PID;
启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;
若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
启动第一线程监视对软件进行的执行操作,并存储事件PID;
启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;
若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
本发明实施例提供一种计算机程序产品所述计算机程序产品包括计算机可执行指令,所述计算机可执行指令在被执行时实现如下方法步骤:
启动第一线程监视对软件进行的执行操作,并存储事件PID;
启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;
若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
本发明实施例提供的基于Linux系统的更新软件信息的方法及装置,通过第一线程和第二线程分别监视软件的执行操作和执行完成操作,并在存储事件PID中查找是否存在与执行完成操作对应的当前事件PID,进而能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于Linux系统的更新软件信息的方法实施例流程图;
图2为本发明实施例内核态逻辑流程图;
图3为本发明实施例业务层逻辑流程图;
图4为本发明基于Linux系统的更新软件信息的装置实施例结构示意图;
图5为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明基于Linux系统的更新软件信息的方法实施例流程图,如图1所示,本发明实施例提供的一种基于Linux系统的更新软件信息的方法,包括以下步骤:
S101:启动第一线程监视对软件进行的执行操作,并存储事件PID。
具体的,启动第一线程监视对软件进行的执行操作,并存储事件PID。执行该方法步骤的可以是计算机设备,具体可以是终端。图2为本发明实施例内核态逻辑流程图,如图2所示,第一线程对应图2中的“bprm执行事件”对应的线程,其中,bprm是指内核中进程的执行流程。参照图2,可以预先通过在LSM的hook(钩子)点bprm_check_security注册可感知软件执行操作的逻辑,其中,LSM是Linux Security Module的简写,是一种安全框架,它定义了很多钩子函数,安插在内核的关键路径上,当执行到这些关键路径时,调用安插的钩子进行安全检查。每个钩子上安装一个函数指针链,当调用钩子时,依次执行挂载在钩子上的函数,为Linux实现的不同安全模块实际上就是在这些钩子上安装函数。然后采用所述bprm_check_security启动第一线程,以监视对软件进行的执行操作,并存储事件进程标识符(Process Identification,简称“PID”),进一步可以存储事件PID至软件变更PID链表中,再存储该链表至终端的缓存中。
bprm_check_security作用是在用户运行可执行程序前,对用户和可执行程序的安全标签进行比对,并在访问控制链表进行搜索,判断用户是否有权运行该可执行程序。
如图2所示,执行操作可以包括软件安装过程或软件卸载过程,相应的,事件PID即是在软件安装过程或软件卸载过程中的事件PID。
所述Linux系统可以包括debian系统;相应的,如图2所示,所述启动第一线程监视对软件进行的执行操作,并存储事件PID,可以包括:
在所述debian系统中捕获dpkg操作,并启动第一线程监视所述dpkg操作对应的执行操作,并存储事件PID。debian计划是一个致力于创建一个自由操作系统的合作组织,所创建的这个操作系统名为debian。该操作系统是使计算机运行的基本程序和工具的集合,其中最主要的部分称为内核(kernel)。内核是计算机中最重要的程序,负责一切基本的调度工作,运行其他程序。
dpkg是debian package的简写,为debian操作系统专门开发的套件管理系统,用于软件的安装、更新和卸载。所有源自debian的Linux的发行版都使用dpkg。
S102:启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID。
具体的,启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID。如图2所示,第二线程对应图2中的“进程结束事件”对应的线程。参照图2,可以预先通过在task_free中注册可通过存储的事件PID感知软件执行完成操作的逻辑,并采用所述task_free启动第二线程,以监视对软件进行的执行完成操作。其中,task_free是LSM的另一hook点。参照图2,执行完成操作可以具体包括软件安装完成或软件卸载完成;相应的,当前事件PID即是在软件安装完成时刻或软件卸载完成时刻的事件PID。可以理解的是,本发明实施例中的第一线程和第二线程是并行异步执行的,通过在第二线程中遍历在第一线程中已存储的事件PID,查找是否存在当前事件PID,可以准确确定是否软件安装完成或软件卸载完成,即如果在已存储的事件PID中存在当前事件PID,则确定当前事件PID对应的执行完成操作属实;如果在已存储的事件PID中不存在当前事件PID,则确定当前事件PID对应的执行完成操作不属实。
如图2所示,所述启动第二线程监视对软件进行的执行完成操作,可以包括:
在所述redhat系统中捕获rpm操作,并启动第二线程监视所述rpm操作对应的执行完成操作。所述Linux系统还可以包括redhat系统,Linux系统的发行版本可以大体分为两类:一类是商业公司维护的发行版本;另一类是社区组织维护的发行版本,前者以红帽(redhat)为代表,后者以debian为代表。rpm全名是Red Hat Package Manager,本意是RedHat软件包管理,顾名思义是Red Hat贡献出来的软件包管理;在Fedora、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上进行二次开发出来的发行版。
S103:若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
具体的,若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。从已存储的事件PID中删除当前事件PID,可以保证实时更新已存储的事件PID,进而准确确定执行完成操作是否属实。图3为本发明实施例业务层逻辑流程图,如图3和图2所示,在更新Linux系统中预先存储的软件信息的步骤之前的步骤在内核中实现;在更新Linux系统中的预先存储的软件信息的步骤之后的步骤在业务层中实现,如图2所示,在从已存储的事件PID中删除所述当前事件PID的步骤之后,内核层可以向业务层发送通知消息,然后在业务层中执行更新Linux系统中的预先存储的软件信息预先存储的软件信息的步骤,预先存储的软件信息预先存储的软件信息可以理解为预先存储在业务层中的、记录已安装软件的软件信息,该软件信息在时间上滞后于当前软件列表,该当前软件列表可以表示在业务层中真实安装的软件信息。
更新Linux系统中的预先存储的软件信息预先存储的软件信息,可以包括:
将所述预先存储的软件信息和当前软件列表进行对比,根据对比结果确定更新的软件信息,并根据所述更新的软件信息更新所述预先存储的软件信息。进一步可以包括:如果在预先存储的软件信息中找不到当前软件列表中的软件,则说明这个软件是新安装的软件,记录软件安装信息,然后根据该软件安装信息更新预先存储的软件信息。
如果当前软件列表中的软件版本升级信息(即版本号)与预先存储的软件信息中的版本号不一致,则说明这个软件做了更新操作,记录软件版本升级信息,然后根据该软件版本升级信息更新预先存储的软件信息。
如果在当前软件列表中查找不到预先存储的软件信息中的软件,则说明这个软件已经卸载,记录软件卸载信息,然后根据该软件卸载信息更新预先存储的软件信息,可以进一步将预先存储的软件信息存储在缓存中,从而提高数据读写速度。
本发明实施例提供的基于Linux系统的更新软件信息的方法,通过第一线程和第二线程分别监视软件的执行操作和执行完成操作,并在存储事件PID中查找是否存在与执行完成操作对应的当前事件PID,进而能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。
在上述实施例的基础上,所述启动第一线程监视对软件进行的执行操作,并存储事件PID,包括:
具体的,预先在bprm_check_security中注册感知软件执行操作的逻辑,并采用所述bprm_check_security启动第一线程,以监视对软件进行的执行操作,并存储事件PID。可参照上述说明,不再赘述。
本发明实施例提供的基于Linux系统的更新软件信息的方法,通过采用bprm_check_security启动第一线程,进一步能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。
在上述实施例的基础上,所述启动第二线程监视对软件进行的执行完成操作,包括:
具体的,预先在task_free中注册可通过存储的事件PID感知软件执行完成操作的逻辑,并采用所述task_free启动第二线程,以监视对软件进行的执行完成操作。可参照上述说明,不再赘述。
本发明实施例提供的基于Linux系统的更新软件信息的方法,通过采用task_free启动第二线程,进一步能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。
在上述实施例的基础上,所述Linux系统包括debian系统或redhat系统;相应的,所述启动第一线程监视对软件进行的执行操作,并存储事件PID,包括:
具体的,在所述debian系统中捕获dpkg操作,并启动第一线程监视所述dpkg操作对应的执行操作,并存储事件PID;或者,在所述redhat系统中捕获rpm操作,并启动第一线程监视所述rpm操作对应的执行操作,并存储事件PID。可参照上述说明,不再赘述。
本发明实施例提供的基于Linux系统的更新软件信息的方法,通过启动第一线程监视dpkg操作或rpm操作对应的执行操作,能够使得该技术方案适用多种具体类型的Linux系统,还提高了该技术方案的通用性。
在上述实施例的基础上,所述Linux系统包括debian系统或redhat系统;相应的,所述启动第二线程监视对软件进行的执行完成操作,包括:
具体的,在所述debian系统中捕获dpkg操作,并启动第二线程监视所述dpkg操作对应的执行完成操作;或者,在所述redhat系统中捕获rpm操作,并启动第二线程监视所述rpm操作对应的执行完成操作。可参照上述说明,不再赘述。
本发明实施例提供的基于Linux系统的更新软件信息的方法,通过启动第二线程监视dpkg操作或rpm操作对应的执行完成操作,能够使得该技术方案适用多种具体类型的Linux系统,还提高了该技术方案的通用性。
在上述实施例的基础上,预先存储的软件信息所述更新所述Linux系统中的预先存储的软件信息,包括:
具体的,将所述预先存储的软件信息和当前软件列表进行对比,根据对比结果确定更新的软件信息,并根据所述更新的软件信息更新所述预先存储的软件信息。可参照上述说明,不再赘述。
本发明实施例提供的基于Linux系统的更新软件信息的方法,通过将预先存储的软件信息和当前软件列表进行对比的方式,进一步能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。
在上述实施例的基础上,具体的,更新的软件信息,包括:
软件安装信息、软件卸载信息和软件版本升级信息中的至少一种。可参照上述说明,不再赘述。
本发明实施例提供的基于Linux系统的更新软件信息的方法,能够实现多种类型软件信息的实时更新。
图4为本发明基于Linux系统的更新软件信息的装置实施例结构示意图,如图4所示,本发明实施例提供了一种基于Linux系统的更新软件信息的装置,包括第一启动单元401、第二启动单元402和更新单元403,其中:
第一启动单元401用于启动第一线程监视对软件进行的执行操作,并存储事件PID;第二启动单元402用于启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;更新单元403用于若判断存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
具体的,第一启动单元401用于启动第一线程监视对软件进行的执行操作,并存储事件PID;第二启动单元402用于启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;更新单元403用于若判断存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
本发明实施例提供的基于Linux系统的更新软件信息的装置,通过第一线程和第二线程分别监视软件的执行操作和执行完成操作,并在存储事件PID中查找是否存在与执行完成操作对应的当前事件PID,进而能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。
在上述实施例的基础上,所述第一启动单元401具体用于:预先在bprm_check_security中注册感知软件执行操作的逻辑,并采用所述bprm_check_security启动第一线程,以监视对软件进行的执行操作,并存储事件PID。
本发明实施例提供的基于Linux系统的更新软件信息的装置,通过采用bprm_check_security启动第一线程,进一步能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。
在上述实施例的基础上,所述第二启动单元402具体用于:预先在task_free中注册可通过存储的事件PID感知软件执行完成操作的逻辑,并采用所述task_free启动第二线程,以监视对软件进行的执行完成操作。
本发明实施例提供的基于Linux系统的更新软件信息的装置,通过采用task_free启动第二线程,进一步能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。
在上述实施例的基础上,所述Linux系统包括debian系统或redhat系统;相应的,所述第一启动单元401具体用于:在所述debian系统中捕获dpkg操作,并启动第一线程监视所述dpkg操作对应的执行操作,并存储事件PID;或者,在所述redhat系统中捕获rpm操作,并启动第一线程监视所述rpm操作对应的执行操作,并存储事件PID。
本发明实施例提供的基于Linux系统的更新软件信息的装置,通过启动第一线程监视dpkg操作或rpm操作对应的执行操作,能够使得该技术方案适用多种具体类型的Linux系统,还提高了该技术方案的通用性。
在上述实施例的基础上,所述Linux系统包括debian系统或redhat系统;相应的,所述第二启动单元402具体用于:在所述debian系统中捕获dpkg操作,并启动第二线程监视所述dpkg操作对应的执行完成操作;或者,在所述redhat系统中捕获rpm操作,并启动第二线程监视所述rpm操作对应的执行完成操作。
本发明实施例提供的基于Linux系统的更新软件信息的装置,通过启动第二线程监视dpkg操作或rpm操作对应的执行完成操作,能够使得该技术方案适用多种具体类型的Linux系统,还提高了该技术方案的通用性。
在上述实施例的基础上,所述更新单元403具体用于:将所述预先存储的软件信息和当前软件列表进行对比,根据对比结果确定更新的软件信息,并根据所述更新的软件信息更新所述预先存储的软件信息。
本发明实施例提供的基于Linux系统的更新软件信息的装置,通过将预先存储的软件信息和当前软件列表进行对比的方式,进一步能够及时更新国产操作系统中的预先存储的软件信息,实现追溯软件操作行为的目的。
在上述实施例的基础上,更新的软件信息,包括:软件安装信息、软件卸载信息和软件版本升级信息中的至少一种。
本发明实施例提供的基于Linux系统的更新软件信息的装置,能够实现多种类型软件信息的实时更新。
本发明实施例提供的基于Linux系统的更新软件信息的装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图5为本发明实施例提供的电子设备实体结构示意图,如图5所示,所述电子设备包括:处理器(processor)501、存储器(memory)502和总线503;
其中,所述处理器501、存储器502通过总线503完成相互间的通信;
所述处理器501用于调用所述存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:启动第一线程监视对软件进行的执行操作,并存储事件PID;启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:启动第一线程监视对软件进行的执行操作,并存储事件PID;启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:启动第一线程监视对软件进行的执行操作,并存储事件PID;启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种基于Linux系统的更新软件信息的方法,其特征在于,所述基于Linux系统的更新软件信息的方法,包括:
启动第一线程监视对软件进行的执行操作,并存储事件PID;
启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;
若存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息,其中,所述启动第一线程监视对软件进行的执行操作,并存储事件PID,包括:
预先在bprm_check_security中注册感知软件执行操作的逻辑,并采用所述bprm_check_security启动第一线程,以监视对软件进行的执行操作,并存储事件PID,所述事件PID为事件进程标识符,其中,所述更新所述Linux系统中的预先存储的软件信息,包括:
将所述预先存储的软件信息和当前软件列表进行对比,根据对比结果确定更新的软件信息,并根据所述更新的软件信息更新所述预先存储的软件信息。
2.根据权利要求1所述的基于Linux系统的更新软件信息的方法,其特征在于,所述启动第二线程监视对软件进行的执行完成操作,包括:
预先在task_free中注册可通过存储的事件PID感知软件执行完成操作的逻辑,并采用所述task_free启动第二线程,以监视对软件进行的执行完成操作。
3.根据权利要求1所述的基于Linux系统的更新软件信息的方法,其特征在于,所述Linux系统包括debian系统或redhat系统;相应的,所述启动第一线程监视对软件进行的执行操作,并存储事件PID,包括:
在所述debian系统中捕获dpkg操作,并启动第一线程监视所述dpkg操作对应的执行操作,并存储事件PID;
或者,在所述redhat系统中捕获rpm操作,并启动第一线程监视所述rpm操作对应的执行操作,并存储事件PID。
4.根据权利要求1所述的基于Linux系统的更新软件信息的方法,其特征在于,所述Linux系统包括debian系统或redhat系统;相应的,所述启动第二线程监视对软件进行的执行完成操作,包括:
在所述debian系统中捕获dpkg操作,并启动第二线程监视所述dpkg操作对应的执行完成操作;
或者,在所述redhat系统中捕获rpm操作,并启动第二线程监视所述rpm操作对应的执行完成操作。
5.根据权利要求1所述的基于Linux系统的更新软件信息的方法,其特征在于,更新的软件信息,包括:
软件安装信息、软件卸载信息和软件版本升级信息中的至少一种。
6.一种基于Linux系统的更新软件信息的装置,其特征在于,所述基于Linux系统的更新软件信息的装置,包括:
第一启动单元,用于启动第一线程监视对软件进行的执行操作,并存储事件PID;
第二启动单元,用于启动第二线程监视对软件进行的执行完成操作,若监视到执行已完成,则获取当前事件PID,并遍历已存储的事件PID,以查找是否存在所述当前事件PID;
更新单元,用于若判断存在,则从已存储的事件PID中删除所述当前事件PID,并更新所述Linux系统中的预先存储的软件信息,其中,
所述第一启动单元具体用于:预先在bprm_check_security中注册感知软件执行操作的逻辑,并采用所述bprm_check_security启动第一线程,以监视对软件进行的执行操作,并存储事件PID,所述事件PID为事件进程标识符,其中,
所述更新单元具体用于:将所述预先存储的软件信息和当前软件列表进行对比,根据对比结果确定更新的软件信息,并根据所述更新的软件信息更新所述预先存储的软件信息。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
CN202010033623.4A 2020-01-13 2020-01-13 一种基于Linux系统的更新软件信息的方法及装置 Active CN111258850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010033623.4A CN111258850B (zh) 2020-01-13 2020-01-13 一种基于Linux系统的更新软件信息的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010033623.4A CN111258850B (zh) 2020-01-13 2020-01-13 一种基于Linux系统的更新软件信息的方法及装置

Publications (2)

Publication Number Publication Date
CN111258850A CN111258850A (zh) 2020-06-09
CN111258850B true CN111258850B (zh) 2024-04-19

Family

ID=70946872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010033623.4A Active CN111258850B (zh) 2020-01-13 2020-01-13 一种基于Linux系统的更新软件信息的方法及装置

Country Status (1)

Country Link
CN (1) CN111258850B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797408B (zh) * 2020-09-09 2020-12-29 北京志翔科技股份有限公司 基于linux系统的可信计算方法及装置
CN112732300A (zh) * 2021-01-07 2021-04-30 苏州浪潮智能科技有限公司 一种数据包更新方法、装置、电子设备及可读存储介质
CN113010199B (zh) * 2021-03-16 2023-01-20 南方电网数字电网研究院有限公司 应用更新方法、装置、计算机设备和存储介质
CN115827099B (zh) * 2022-12-09 2023-05-12 安芯网盾(北京)科技有限公司 Linux平台的挂钩函数安装方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259036A (ja) * 2003-02-26 2004-09-16 Fujitsu Ten Ltd ソフトウエア稼働監視装置および方法、ならびにプログラム、コンピュータ読取り可能な記録媒体
CN101630262A (zh) * 2009-07-17 2010-01-20 北京数帅科技有限公司 基于Linux操作系统的子进程监控方法
CN102880935A (zh) * 2012-09-10 2013-01-16 曙光信息产业(北京)有限公司 一种Linux集群软件的管理方法及其管理系统
CN102968352A (zh) * 2012-12-14 2013-03-13 杨晓松 进程监控及多级恢复系统和方法
US9542535B1 (en) * 2008-08-25 2017-01-10 Symantec Corporation Systems and methods for recognizing behavorial attributes of software in real-time
CN109117350A (zh) * 2018-09-20 2019-01-01 北京北信源信息安全技术有限公司 自动监控计算机软硬件的告警方法、装置及服务器
CN109324946A (zh) * 2018-09-10 2019-02-12 天津字节跳动科技有限公司 运行监测方法、装置、电子设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010027477A1 (en) * 2008-09-02 2010-03-11 Belarc, Inc. System and method for software usage discovery

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004259036A (ja) * 2003-02-26 2004-09-16 Fujitsu Ten Ltd ソフトウエア稼働監視装置および方法、ならびにプログラム、コンピュータ読取り可能な記録媒体
US9542535B1 (en) * 2008-08-25 2017-01-10 Symantec Corporation Systems and methods for recognizing behavorial attributes of software in real-time
CN101630262A (zh) * 2009-07-17 2010-01-20 北京数帅科技有限公司 基于Linux操作系统的子进程监控方法
CN102880935A (zh) * 2012-09-10 2013-01-16 曙光信息产业(北京)有限公司 一种Linux集群软件的管理方法及其管理系统
CN102968352A (zh) * 2012-12-14 2013-03-13 杨晓松 进程监控及多级恢复系统和方法
CN109324946A (zh) * 2018-09-10 2019-02-12 天津字节跳动科技有限公司 运行监测方法、装置、电子设备及计算机可读存储介质
CN109117350A (zh) * 2018-09-20 2019-01-01 北京北信源信息安全技术有限公司 自动监控计算机软硬件的告警方法、装置及服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Rick Rabiser et al.A domain analysis of resource and requirements monitoring: Towards a comprehensive model of the software monitoring domain.《Information and Software Technology》.2019,第111卷86-109. *
曾娅琴.基于特征融合的恶意软件家族检测方法研究_曾娅琴2019年第12期.《中国优秀硕士学位论文全文数据库(电子期刊)》.2019,第2019卷(第12期),全文. *

Also Published As

Publication number Publication date
CN111258850A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN111258850B (zh) 一种基于Linux系统的更新软件信息的方法及装置
CN109039740B (zh) 一种处理运维监控告警的方法及设备
US8489941B2 (en) Automatic documentation of ticket execution
CN108255620B (zh) 一种业务逻辑处理方法、装置、业务服务器及系统
CN110225078B (zh) 一种应用服务更新方法、系统及终端设备
WO2019056475A1 (zh) 测试任务自动化管理方法、装置、设备及存储介质
US9355003B2 (en) Capturing trace information using annotated trace output
US11169896B2 (en) Information processing system
CN109815697B (zh) 误报行为处理方法及装置
CN105573859A (zh) 一种数据库的数据恢复方法和设备
CN110554962A (zh) 回归测试的流程覆盖方法、服务器及计算机可读存储介质
CN105426310A (zh) 一种检测目标进程的性能的方法和装置
US8799716B2 (en) Heap dump occurrence detection
CN111859399A (zh) 一种基于oval的漏洞检测方法及装置
CN111783094A (zh) 一种数据分析方法、装置、服务器及可读存储介质
US20170344461A1 (en) Automated exception resolution during a software development session based on previous exception encounters
CN112579330A (zh) 操作系统异常数据的处理方法、装置及设备
WO2019056545A1 (zh) 测试机自动化管理方法、装置、设备及存储介质
CN113127874A (zh) 内网敏感信息处理方法及装置
CN110321130B (zh) 基于系统调用日志的不可重复编译定位方法
CN115809150A (zh) 一种分布式死锁检测方法、装置及电子设备
KR101310070B1 (ko) 프로그램간의 충돌을 예방하는 방법 및 그 방법이 기록된 기록매체
CN109445877B (zh) 一种检测游戏服务器多线程使用同一虚拟机的方法
CN114327588A (zh) 一种代码提交日志的处理方法及装置
US20150046414A1 (en) Computer product, managing apparatus, and managing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant after: QAX Technology Group Inc.

Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd.

Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088

Applicant before: QAX Technology Group Inc.

Country or region before: China

Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant