论文部分内容阅读
随着企业信息化程度的提高,企业应用软件的管理负担也随之提高。企业中的信息部门承担着对企业应用软件的维护,更新,打安全补丁等任务。很多公司目前主要的软件部署方式是依赖于IT部的常规人工技术支持;其维护、管理成本都很高,尤其是出新的病毒或补救新的漏洞时,以及下发应用软件,升级新的应用软件,打安全补丁等工作,由于电脑终端众多造成IT部人员经常加班加点进行工作,尚且无法得到满意的结果。因此,为了提高软件部署工作的效率和降低成本,开发一种可以复用的自动软件部署系统就成为了当务之急。ZSDT(Ziu Software Delivery Toolkit)Linux平台自动软件发布系统就是在这种需求下产生的。它的目的是能够降低企业软件部署的复杂度和风险。该系统的目标是实现在Linux平台下软件部署的各个关键环节,包括计划,执行,监视,恢复等等。ZSDT的核心功能是软件的无人值守自动安装。本论文所要阐述的就是如何在Linux平台下实现ZSDT的打包器和发布器两个模块。这两个模块互相配合,可以实现软件的无人值守安装,卸载和监视功能。ZSDT Linux版本的打包器模块通过一台目标计算机作为“样本”,在该计算机上进行软件安装的操作,打包器截获安装过程中特定的系统调用,对截获信息进行处理来记录整个软件安装过程中的行为。通过产生的记录来生成ZSDT专用的文件包。发布器模块是运行在需要部署的目标计算机上的守护进程。发布器监听ZSDT系统的指令,通过指令在目标计算机上自动下载,安装,卸载相应的软件包。本文介绍了这两个模块的设计思路和实现手段,主要工作如下:设计和实现了支持Linux平台下多种格式软件包的打包器。文中提出了多种可能的设计方案,并且最终选择了比较有效的“记录软件安装行为”的方案。设计和开发了打包器的系统调用截获模块和分析并处理截获的系统调用信息的打包模块。打包器的设计过程中主要解决的问题是如何有效的截取Linux的系统调用和如何通过截获调用的信息并利用Linux 2.6内核中的inotify功能来“记录软件安装行为”。设计了发布器,发布器通过网络监听ZSDT控制系统发来的指令,通过指令来进行软件下载,安装,回滚,监视。实现了软件的无人值守安装。