计算机软件集中管理系统_第1页
计算机软件集中管理系统_第2页
计算机软件集中管理系统_第3页
计算机软件集中管理系统_第4页
计算机软件集中管理系统_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

同济大学软件学院

硕士学位论文计算机软件集中管理系统姓名:张虎成申请学位级别:硕士专业:软件工程

指导教师:顾绍元;徐欢20090501摘要件,以及服务器端可用的软件包,自行决定安装的版本,这样可以在公司即有的IT策略范围内,给企业内部员工一定的选择权,比如,公司内部如果存在多国籍员工,则有可能不同国籍的员工对于软件包的语种要求亦不同。又如,员工对于汉语的输入法亦有所不同,有的喜用全拼,有的则对五笔熟悉,而有的则可能只会用笔划输入法。不同的输入法的存在,给员工以选择权,满足了员工对于软件的特定甯求。 , …月刎主要具有以下特•窗]拱送与请求的方式,对客户端进行操作系统和软件的安装•多个金户端可同时异步进行操作系统或应用软件的分发•无人执行地预约进行工作关键词:软件集中管理,系统自动安装,远程部署ABSTRACTThefirststeptosctupacomputeristoinstal1a1loperatingsystem(os).TheOSmanagesthecomputer'Shardwareandsoftwareinordertol1111actualapplications.OneofthemaintaskinanlTdepartmentistoprovideUSerSausableandUSerfriendlysoftwareenvironment.Inacompany,thelTdepartmentsetprinciplesonhowtoinstal1andconfigureacomputermostthescomputermostthesconfigurefordifferamesoftwationoneverentdeparreycompuITstaffshowever,forlargecForsma1Icompanies.theworkloadistriviaompaniehowever,forlargecarenorma1Iyhundredsorthousandsofcomputers.whichwastealotoftimeandresourcestoconductrepeatabletasks.InorderlosavethelTstaffsTromsuchtediousrepeatablework,the月fi[ITsystemWasdesigned.AffIThasfollowing,*rl^s?ah¥a/£sQJu9(PpSratingsystemsandapplicationsremote1y.,Provicealistofavailablesoftwareandupdateswhichcanbeinsta11edorupdateedifneeded•CalculatetheinstallationquantityofsoftwareoroperatingsystemThedifferencefrommanyotheroperationsystemde1iverysoftwareisthemainfeatureof月以绣whicha1lowstoconfiguretheoperationsystemandsoftwarewhichCaIIbeInstaIledbeforeanythlngisinstaIledonthetargetcomputer.ATterwardsstepsCanbeapp1yedonatargetcomputer.Furthermore,Afif/Trecordsthesoftwareandconfigurationinstalledontheclientcomputer.Happensanaccident,suchaSoperationsystemcrash,harddiskerrororcomputersimi1ar,Aft/Twi11insta11theoperatingsystemandsoflwaresaccordingtopreviousrecordsautomatica11ywithouthe1pfroma11ITspecia1ist.AffITcanmanagea11thesoftwaredeployedinth^ecornoany.JtcerntraLize.s.thfi. .omanagementoisoi^tware.ThesofiwareSuTi1izatloniScalcjjJatedforthecompanyto 6 ,avoidsoftwarewasteanaabuseusage.WhenthereiSnewupdatedsoftwareversionneeded,Aff/Tcaneasi1y学h&PsRPcEntctehcllt^i«i-nstalledsol,rareviatheAmC/Tc1ient,andtheya1sohaveprivIlegetochoosedifferentsoftware.Forexamp1e,iftherearemanydifferentUSerS舶mdifferentcountries.theypossiblyhav.edi,ff.erenthabAirt.$lrergard,ingtheinput,melnodiortneirlanguage.ArfITisiTexiolelermeettneuersneedsinsomedegrees*KeyWords:softwarecentralizedmanagement,automaticaloperatingsysteminstallation,remotedep1oyment,Aid1T学位论文版权使用授权书本人完全了解同济大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的i三N,iii。本和电子版本;学校有权保存学位论文的E11,1i1U本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。…一堞群矽)牛/1月汐口同济大学学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文的研究成果不包含任何他人创作的、己公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。学位论文作者签名:炒〉%。”趴第1章绪论随着时代的发现,计算机已成为当今社会的重要办公工具,担当着企业内部信息交流、无纸化办公、以及与外部进行信息沟通。据CNNIC1第22次发布的《中国互联网络发展状况统计报告》,中国网民数量达到2.53亿,据此推算我国上网的计算机数量有1亿台左右。由此可见,在中大规模的企业中,计算机的数量为众多的。如何管理好企业内部的这么多的计算机,是企业内部IT部门的重要工作内容。对于中小企业,可能对于计算机的安装于软件维护管理的要求并不严格。但伴随着网络病毒的流行、木马黑客软件的泛滥、软件版权的问题、人员成本的提高等等所带来的种种问题,使得这些企业日益重视企业内剖的信息安全与管理的高效及IT运营成本的降低,急切需要一款软件能解决以上问题。为了能背彳党菖祥徒’豆㈤需筌资源,同时限制公司内部软件的使用,远程安装操作系统与软件的软件已经存在,比如微软的域控服务器具有发布软件的功能,Symantac公司目前应用较广的GHOST软件,都具有远程安装的功能,他们具有以下特点:微软的域控服务器上的软件发布功能,只限于使用彳j■具有域控功能的服务器上,分发软件的目标对像也仅限于该域内的计算机上。分发的软件包必须是MSI格式。同时只能对已经安装好WINDOWS操作系统的并加入该域的计算机进行软件分发。对于软件包的配置,只能采用组策略的方式进行或登陆时的脚本完成。没有对域中的计算机的安装的软件包的管理与统计功能。Symantac公司的GH0ST软件是一款应用比较广泛的快速进行操作系统安装的软件,同样的安装操作系统的过程,只需要10分钟左右,大大地加快了安装进度。同时亦可以采用广播的方式进行大规模的装机。其优势在于使用镜像的方式备份出已安装的硬盘或分区,直接写入目标磁盘上,从而达到快速装机的目的。但制作磁盘或分区的镜像文件时,比较复杂。同时,写入的目标机器与制作磁盘镜像的原始机器在硬件配置上要一样。如果需要对镜像文件中的软件包进行升级或操作系统的补丁更新,都需要重新进行磁盘镜像的制做。月婀与这些软件相比,具有乍簪件浮‘4’便于企业内部整个软件生存期的控制。由44,雅即蓄此也能。月磁碎,在软件包的管理方面借鉴了0nC。mmand软件包枷管理方式并在此基础上采用了HTTP与FTP方式的发布方式,更便于软件包的发布与下载安装。.用户客户机的管理,记录下每个客户机的软件安装,可以为每个客户机定制应用环境。GHOST软件只能进行磁盘的镜像复制功能,无法为不同的客户机定制不同的桌面。同时镜像文件在软件的升级更新时,不得不重新制做镜像文件。而Micros。ft公司的域控服务器能够发布应用软件,却缺少应用软件安装时的记录。不便于软件安装情况的跟踪,对于具有版权的软件,装机的数量是版权费用的主要依据,所以,企业内部的IT人员必须根据所拥有合法软件数量,决定布署策略。鼻地提供了此项记录,IT人费曾饮蹩松统钾留至业内部所有3自动布署操作系统及应用软件,域少IT人员皿作负担。鼻洞自动化地布署操作系统及软件,可在Ml需工作时将忖进拧客哪I即企业的人由于么掰具有以上的特点,所以更适合于机空呢内部IT部门对企业内的传统的操作系统安装和软件的安装方式,是使用可引导的软盘或光碟,引导计算机启动,并将操作系统文件安装到本地计算机的硬盘上。这种方式的安装方式需要系统安装人员全程守护在计算机旁边,并输入一些在安装过程中,安将程序要求的安装参数。对于安装如MSDOS、XENIX等操作系统,这可能不是一个问题,由于这些操作系统数据比较少,十几兆至几十兆,在很短的时间内即可安装完成,不构成太大的负担。随着时代的发展,磁盘的空间成儿何式的增加,操作系统的磁盘占用量也呈相同比例的增加。安装•套WINDOWSXP,需耍近3G的磁盘空间,全部安装UBUNTULINUX操作系统需要超过10G的磁盘空间。占用空间的增加,导致安装时间的增加,经同等环境下测试,WINDOWSXP大致需要25分钟完成,而UBUNTULXNUX需要近40分钟完成。如果企业内部的计算机众多;这将会给企业内.部的I?人员力成了不小的负担。、, ,一月婀是通过网络进行远程安装操作系统、M1应用程a嗦绕配置到用户具有以卜特点:1.无人执守地进行远程安装操作系统、应用软件及系统配置。WcC在非0嘏S3T量。同动,将有效的时间进行IT工作中其它更有意义的项目上。.可适应多种不同的硬件平台,适应性更强。月谢W可以鉴别不同的硬件平台,有选择的进行驱动程序的安装,在安装操作系统时,识别不同的硬件,以布署完整的、PC所有驱动都安装完备。在安装操作系统时,难免要为特定的硬件平台选择安装不同的驱动程序,以使系统的硬件资源可用。月地可以自动识别客户机器的鬻髯黑将对皮的蛆动牌摩盟动均‘安.有针对性的初始化工作环境,达到按客户的需要。企业内部由于工作性质的不同,划分为不同的部门,不同部门对于应用软件的需要也是不同的。比如设计部门需要AUTOCAD、PHOT0S0P等类软件,而财务部门可能需要SAP、9拆务管理软件,而人事部门则需要人事管理系统等。月碰磁可以根据企业内部不同部门对电脑工作平台的不同要求,进行有针对性的配置,建立不同的初始环境的,以满足企业的需求。鼻碰阿适用于全新台式机、笔记本电脑以及服务器的系统安装,也适用于自动将客户的电脑当前的工作环境迁移到不同的机器上。这将可以为企业管理控制电脑硬件的升级换代提供便利。.2系统架构月磁阿由以下几部分组成:.数据库系统。作为整个系统的数据仓库,存贮着软件包信息、客户机信息以及当前系统的状态。在数据库的选择匕这罩选择P0STGRESQL做为后端数据库软件。.服务器端程序。服务器端包括提供客户机启动的PXE系统、软件发布系统。PXE系统提供远端计算机从网络启动,运行MiniOS系统。软件发布通过FTP服务器,将存贮在服务器端的软件仓库发布出去,供客户端软件下载到本地进行安装。服务器端可以使用UNIX环境,也可以布署在WIND。wS环境下。以下以FREEBSD环境和WINDOWS环境为例,列出所需辅助的其它软件,见表1.1。表1.1:不同系统下的软件选择由表1.1可以看出,wINDOWS环境由于使用了TFTPD32软件,所以较F系统容易搭建月婀系统。本文后面将以WIWD0WS为例说明整个系统的安装与3角i臂户端随着操作系统的布署自动进行统一起。,型越后,,母彷白倒心四娜滕户从前端4.系统管理员程序。提供给月婀系统管理员使用,用于对系统进行酉猿宣【与।管理户机胴的也餐「,以y功能。这几部分的相互作用如下图:AidITOutUneStructure图1.1系统架构图1.3论文组织结构第1章从总的方面介绍了Ai以〃的产生背景、系统概况及主要结构。第2、3章主要介绍了服务器端的系统结构。第4、5章主要介绍了客户端的功能与结构。以上章节构成了月潮曙系统的主体部分。由月婀系统联以源用的软件包广箕中NDOWSXP为重点说明第2章数据库设计・碰阿采用PostgreSQL3数据库软件,PostgreSQL是以分校计斓删生并鬟假前由上TGRES版本4.2为基础的对象关系型数据库管理系统(ORDBMS)oPOSTGRES领先的许多概念只是在非常迟的时候才出现在商业数想属3ostgreSQL是面向对象的数据库管理系统,同时是以BSD许可方式发布的,是一款免费的数据库软件。虽然是免费的软件,但是却是等同与专业级的数据库系统软件。具有函数(也称为存贮过程)、索引(B+—tree,hash,GiST,金亮/玄版本并发控制(Mu1ti—VersionConcurrencyContro1—MVCC),改写规则、多数据类型(数组、任意精度数字、用户自定义对象、继承等等多种功能。PostgreSQL能满足奠碰巧软件数据存贮需要。月谢阿主要使用数据库记录三个方面的信息:2.1服务器软件仓库中的软件信息表•SoftwareTypes软件的类型,比如操作系统软件(system)、应用软件(app1ication)和配置用途的软件(action)4oSoftwareTypeID:软件类型的ID号SoftwareTypeName:软件类型名这三种类型的区别是:应用软件提供软件安装、卸载、升级功能;一次性操作软件是用于配置系统的,不提供卸载;系统软件是指操作系统性软件,不能卸载。SoftwareTypeDescription:软件类型的说明•Softwarestatus软件当前在软件仓库中的状态。如:已停用、可用、需3见参考文献[3]•由于操作系统的安装方式与应用软件的安装方式截然不同,所以Aui,IT区别对待这两种的做件更新等等。用来追踪软件的生存期。SoftwareStatusID:软件状乐IPtwareStatusName:状态名称SoftwareStatusDescription:状态描述•SoftwareLanguage软件可用的语言。如:英文版、中文简体版、中文罂版、德文版等等。SoftwareLanguageID:软件语百IDSoftwareLanguegeShortName:语言简称SoftwareLanguageName:语言名称•SoftwarePlatfom软件琳策然葡端愣辨箫:筑。'用于鼻姗的功能是SoftwareP1atformID:软件晋台LRePiatformName:软件平台名称•Softwares软件信息表。记录软件的各方面详细信息,如:软件名称、软件大小、安装路径等等。Software1D:软件的IPsoftwareName:软件名称SoftwareDescription:软件描述SoftwareVersion:软件的版本SoftwareStatusID:对应于软件状态表的中IDSoftwareLanguageID:对应于软件语言表的中IDSoftwareDirectory:软件所在仓库中帆用twareSetupCommand:软件安装时运行的命令•SoftwareDate:软件入库的日期2.2客户机的软、硬件情况表•Computers客户机信息表。主要记录下客户机的ID号、客户机名、网卡地址等等能唯一标识出该客户机的相关信息。ComputerlD:客户机的ID•ComputerUID:客户机的唯一-标识码ComputerName:计算机冬ComputerDesc:计算机描述•ComputerType:计算机类型,比如服务器、台式机或者笔记本等MacAddress:计算机的MAC地址DebugMode:调试开关•ComputerGroups计算机分组信息。可以将相同工作环境的计算机归为一组,或将相同部门的计算机归为一组。此信息可由系统管理员自行配置。ComputerGroupID:分组IDComputerGroupName:组名称ComputerGroupDesc:组描述ComputerGroupType:组类别,可以以部门信息区别不成的部门的计算机•ComputerGroupMembers每个计算机组中的所有计算机将具有俎时心」UterGroupsoComputerGroupMemberID:计算机组员号ComputerGroup1D:所属的组号•ComputerlD:所属的计算机ID•ComputerSoftwares计算机安装的软件信息。记录下客户的计算机中安装的软件以及当前安装过程中的状态。ComputerSoftware[D:该表的唯一编号ComputerID:客户计算机的ID•Software】D:客户机中己装软件的IDInstallationDate:软件的安装同期2.3软件布署安装的状态表•SoftwareParameters软件安装时可用的参数,如安装文件的路径、¥一守OSoftwareParameter1D:内部ID编号SoftwarelD:软件的ID号SoftwareParameterName:软件安装梦2年率$areParameterDescription:软件参数以蝌wareParameterDefaultVa1ue:参数的默认值•Partitions客户机中的分区情况。Job1D:分区作业的ID号PartitionType:分区类型,比如NTFS,FAT32,EXTEpaYfP善聋nSize:分区大小•Driver:分区所在的磁盘编号•JobStatus执行安装任务的当前状态。在软件的安装过程中,各种状况的列表,如Assigned,代表一项任务刚刚被安排到某台客户机上,由于客户原因或其它原因,导致当前任务还没有将执行。JobStatus1D:ID号•JobStatusName:状态名,系统预置状态有:Assigned,Doing,Postponed,Finished.•Jobs系统进行分派软件的任务情况。Job1D:任务编号ComputerlD:目标计算机的ID号Jobstatus1D:当前任务的状态号SoftwareID:任务关联的软件号ExecuteDate:任务执行日期•JobParameters每项任务会有不同的参数,这些能参数可以通过变量与值的向量组记录下来。JobParameterlD:任务参数IDJobID:相关的任务的IDJobParameterName:任务的筝挈WbParameterVa1ue:任务的参数值•JobSchedules可由系统管理员计划执行一项软件布署的工作任务或由于客户阻止了当前Job的运行,安装延期执行。JobSchedulelD:内部ID号Job1D:相关的任务ID号Frequence:该任务的执行次数StartDate:开始执行同期EndDate:结束日期Joblnterval:执行间隔•ComputerSoftwareDetai1s这是一个视图,可以方便的看出某■箭舌料贴J软件及其状态。第3章服务器端设计服务器端主要由PXE服务器、软件发布系统、客户机信息管理系统三部分组成。PXEJ]艮务器主要是用来为客户机通过网络启动服务的。客户机通过选择网络启动后,PXE服务器就通过网络将操作系统引导程序传递给客户机,客户机在内存中虚拟盘中还原引导程序,然后通过虚拟盘启动操作系统安装程序。3.1引导程序M1ni0S的制作引导程序采用FREEBSD为蓝本,经过裁制与定制核心制做面成,形式上类似于WinPE操作系统,与WinPE相比较,有以下几个优点:软件体积小巧,减少网络传送量。MiniOS大小仅有30MB左右,而WinPE需要100-200M左右的空间。具有更快的传递速度。启动引导程序更快捷。启动Mini0S只需要20秒左右的时间5,而WinPE需要至少1分钟以上。集成大多数网络适配器的驱动程序。自动安装好网卡的驱动,可以通过DHCP方式自动设置好网络参数,以便进行下一步的数据传送。可以安装多种操作系统,如WINDOWS、LINUX、FREEBSD等等。由于岸窗IEBSD的操作系统,所以可以对硬盘进行多种分区类型的设置,如FAT32、NTFS,EXT2,UFS等等,同时将多种操作系统的安装程序写入磁盘,以便引导系统进入到特定操作系统的安装例程中。5视客户机的置置稍有小同同时,Mini0S与WinPE}H比,也有不足之处,如Mini0S是基于文本用户葩靠的而WinPE是基于图形的用户界面,在用户友好性方面,稍显不足。不过,毕竟MiniOS不是用户的同常使用的用户界面,只存在于操作系统安装前的引导过程中,所以对用户的影响很小,然而却可以大大的减少文件体积,减少用户等待时间。3.1.1FREEBSD系统安装为了使Mini0S的体积最小,以便于在网络上传送,Mini0S经过仔细裁制FREEBSD系统,以达到基本系统的完整。在系统软件的选择上,参考了Panabit6的制作方式,同时按需要加入或减少了相关系统软件模块。具体的安装过程可参照FREEBSD使用手册7进行安装。3.1.2FREEBSD内核精简在安装完成后,由于需要重新编译内核以达到减少无用的内核模块,并增加内核的网卡驱动,需要安装内核的源代码包。源代码包可以用sysinsta11系统工具,在Distributions档选择sysfQrelease包即可。见图:3.16见参考文献[4]7见参考文献[5]图31:系统软件包哉置为了精简内核.我在通用内核的基础上,删除一些无关设备配置,同目了网卡驱动的配置,以达到更强的适应性。主要增减内容见表:3.1。裘31:内核配置文件史改项

/usr/srcztoolsCmIscgIlaneoustools)0Cancel®零r/src/s*(FreeBSDkerns】)OKPleasecheckoffthoseportionsuftheFreeBSDsourcetreeyouwishtoinstall.图3.1:系统软件包配置中口ES3[]/ucr/src/otc(nisceIlaneoussyst9HfIles)/usr^src/gawes(theobvious!)/usr/src/include(headerfiles)/usr/src/kerboros5(sourcesforXerberos5)/usr/src/Jib(systewlibraries)/usr^src^libexec(s^stenprograws)/usr/src/release(reledse-generationtools)//usr/srcztoolsCmIscgIlaneoustools)0Cancel®零r/src/s*(FreeBSDkerns】)OKPleasecheckoffthoseportionsuftheFreeBSDsourcetreeyouwishtoinstall.图3.1:系统软件包配置中口ES3[]为了精简内核,我在通用内核的基础上,删除一些无关设备配置,同时增加了网卡驶动的配置,以达到更强的适应性。主要增减内容见表:3.1.表3.1:内核配优文件更改项参数含义一optionsKTRACE取消内核跟踪—devicesio取消串口设备一deviceuart取消通用UARI'驱动十devicenve增加nVidianFdrce板我网卡驱动—devicefirewire取消火线支持—devicesbp取消火线的SCSI接口一devicefwe取消火线上的网卡接口—devicefwip取消火线上的IP一devicedcons取消哑终端—devicedcons_crom取消哑终端的ROM配置optionsVESA为SPLASHSCREEN打开内核的VESA支持optionsSC_PIXEL_MODE选择VESA的模式编写好内核的配置文件后,首先需要用CVsuP8升级一下核心的源代码到最新的stab1e版本。要升级核心源文,需要编辑一下CVsuP的配置文件stable—supfile。将配置文件中的defau1thost改成cvsup.FreeBSDchina.o4遵行谡"陶喙疝内命sed—e,/°\^defaulthost=/s/=.★/=cvsup.FreeBSDC/'\/usr/share/exampIes/cVsup/stab1e-supfi1e>/etc/stable-supfile接着就可以升级内核源文件了,用命令:cvsup—g-L2/etc/stable—supfiIe升级完成后,就可以用以下命令重新重新编译内核了:/usr/src/sys/i386/confconfigMini0Scd.,/compile/MiniOSmakec1eandepend&&makedependmake如果编译正常完成,就可以安装新的核心了makeinsta1I编译安装重启系统后,新的内核就加载至系统中了。命令通过远程卜.载安装。1.3MiniOS文件准备在升级FREEBSD内核完成后,就可以为mini0S准备磁盘映像文件了。首先建立一个目录用来存放制做的Mini0S磁盘映像文件。如/root/MiniO注此件录下建立三个子目录:mfs.mnt、mfs.root币Ibootdisk。用橐卷放曲?nI月雷的文件系统,而mfs.mnt目录用来将创建的虚拟磁盘挂载到牛录下,以便将Mini0S的文件系统及引导信息写入到此虚拟磁盘中,而bootdisk是用来放置最终创建好的可启动计算机的磁盘映像。mfs.root目录结构类似于FREEBSD的根目录,包括bin、dev,1jbexecroot、Boot、、etc、mnt、sbin、cdrom、lib、proc、tmp目录。同时紫珊虚龙品均核文件按其在FREEBSD系统下的目录位置拷贝到mfs.root目录下。1.4制做Mini0S磁盘印像文件为了制做磁盘印像文件,需要分两步完成:.文件系统映像首先需要在磁盘上创建一个大于mfs.root目录所占磁盘空间的文件。可以用以下命令来生成:size—mfsroot=,du—skmfs.rootawk'(print¥I+l024*4}**ddif=/dev/zeroof=mfs.root,imgbs=1kcount=YSIzemfsroot其中的1024.4是额外增加4M空间,是做为SWAP分区使用。然后将此文件映射为一块内存虚拟磁盘,进行磁盘格式化:mdx=、mdconfig—a-tvnode—fmfs.root,img'newfs——n——mO/dev/¥mdX虚拟盘格式化完成后,就可以挂载到mfs.mnt目录下,将磁盘文件拷贝到虚拟盘上了:mount/dev/SmdXmfs.mnt最后将此虚拟盘文件以最大压缩比率进行压缩,以节省磁盘空间及网络传送时间。至此,文件系统己创建完成。.创建可以引导机器启动的虚拟磁盘文件系统创建完成后,就可以创建可以引导计算机启动的虚拟磁盘映像文了。基体上与创建文件系统的方式一样。先计算出总共所需要的磁盘空间。这里需要将可SWAP分区大致占用的空间计算在内,用以下命令:Size=¥(du—skSbootdiskdirawk*{printYl+1024*11}*)然后生成一个等同大小的文件,并将此文件虚拟成磁盘,进行分区以及文件系统格式化,见以下命令:ddif=/dev/zeroof=Sbootdiskdir.imgbs=Ikcount=Ysize2>/dev/nu1\md-x=、mdconfig-a-tvnode-f¥bootdiskdir.img、fdisk—BI/dev/¥md—x>/dev/nu112>&1bsd1abe1—B—WY{md—X}slauto>/dev/nul12>&1newrs—n—m0¥(mdx}SIa>/dev/nulI2>&1最后将文件系统映像文件拷贝到新创建的虚拟盘上即可。拷贝完成后,磁盘映像文件就可以为PXE服务器使用了。3.2PXE服务器的安装与配置PXEn艮务器提供两方面的服务,即DHCP9服务和TFTPB艮务。两个服务主用是端埸引导客户机进行MiniOS系统。3.2.1PXE启动原理PXE是PrebooteXecutionEnvironment的缩写,它是可以让远端设过网盘界面启动的环境。整个远程启动的流程遵循特定的“客户端一服务器”的模式。是由Inter公司首先设计并推出的。可参考官方文档1U。PXE不是独有的网络启动方式,但是却是最为广泛使用的。实际上,〜个PXEH艮务器无非是一个DHCP和TFPT服务器。在网络上的一台服务器上安装好上述的两个服务后,这台PXEn艮务器就可以响应PXE启动请求并协助客户端系统启动计算机。基本上,当从客户端计算机的BI0S中设置允许通过网络启动时,在计算机加电自检后,系统开始执行PXE启动,首先,要在网络上寻找DHCP服务器,一个针对PXE特定配置的DHCP服务器将会响应客户端所有可用的PXE启动服务器列表以及它们的IP地址,同时也会分配一个IP地址给客户端。客户端可以在启动菜单中选择不同的PXE启动服务器,在大多数情况下,只有一台PxE服务器可供选择。在选择所需的PXE启动服务器后,启动引导程序开始运行,客户端PXE固化程序请求NBP(网络引导程序)的路径。在获取了这一路径后,通过TFTP协议启动下载进程。TFTP是一个缩减版本的FTP,由于它易于实现、保存和执行,所以主要用来远程启动计算机。由于与通常的FTP用途不同,它不提供通常FTP提供的许多哥级功能。如果在网络中,所有的PXE客户端仅使用一个NBP,还有一个可以避免需要DHCP服务器的方法。在这种情况下,服务器的地址,连同NBP的准确路径,可以在B00TP协议中指明。即便如此,BOOTP也是一个最简化了的DHCP,客户端仍可以通过B00TP获取他们的IP地址。TFTPH艮务器是必须的,因为如果没有TFTP,NBP就不可能被传输。一旦客户端计算机收到所选的NBP后,校验成功后开始执行此程序。这时,整个NBP就存贮在客户端计算机的内存中。Inter公司在最初设计PXE时,考虑到以下几个关键点:

不应干扰网络中现有的DHCPH艮务器。在简单的网络环境中,易于配置与实现。可以在一台服务器上相互独立的运行多个服务。从PXE原理,可以得出PXE方式启动客户端的儿个阶段:1.客户端电脑开机后,在TCP/IPBootprom获得控制权之前先做自我婀Bootprom送出BOOTP/DHCP要求以学便由用服务器收到客户端电脑所送出的要求,就会送回BOOTP/DHCP回应,内容包括客户端的IP地址,预设网关,及开机影像文件。否则,服务器会忽略这个要求。.客户端收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件。.Bootprom通过TFTP通讯协议从服务器下载开机影像文件。这个映像文件就是可引导计算机启动的映象文件。开机影像文件将包含内核加载程序及压缩过的内核,还包括基本的文件系统。.客户端通过这个开机映像文件开机,这个开机文件可以只是单纯的开机程式也可以是操作系统。.远程客户端计算机根据下载的文件启动机器。3.2.2PXE服务器软件的安装首先需要在根分区建立一个子目录,比如D:\PXE,在此目录下存放PXE相关服务的所有文件。TFTP软件选择由Ph.Jounin编写的开源软件Tftpd32。这个软件具有TFTP、SNTP、DHCP、SYSL0G多个功能为一体,小巧、参i亍稳定,可能是免费的TFTi亍稳定,可能是免费的TFTPS服务方式运行的功能。艮用1到T粒中的两空功能?液合渡斜由金岸的三个。七制制共祢为aS服务方式运行的功能。从处可以卜裁到TFTPD32的最新版本。下我后,解压缩软件包至D:\PXE目录下。写作本文时TFTPD32软件的最新版本是v3.31。如果为了测试是否可用,可以选择运行版。如果作为生产用途,可以采用系统服务的版本。现在需要一个启动引导程序,类似于FREEBSD的EASYBOOT程序或WINDOWS的NTLDR程序。月“阿采用最为流行的启动引导程序_sYSLINUX„可以在此处11下载。需要下载zip版本的程序。SYSLINISOLINUX,PXELINUX、EXTLI ISK„舅矗阿需要PXELINUX的启动引导器。解压缩zip文件到一个临时目录中,就会有pxe1inux.0和memdisk文件典漆者在core目录下,后者在memdisk目录下。将这两个文件拷贝到D:\PXE\FREEBSD目录下。这里还需要SYSLINUX软件包中的另一个文件,menu,c32»位于com32/menu目录下。现在这三个文件都已拷贝到引导客户端启动的目录FREEBSD下。这里还需要做两件事,第一件是需要一个镜像文件,用来在PXE启动进程完成引导程序的运行后,自动加载此镜像文件。PXELINUX不是一个操作系统,它只是一个专门用于PXE环境下的轻量级的启动引导程序。还需要一个可启动的操作系统的镜像文件。鼻承阿使用之前介绍的Mini0S操作系统镜像文件。将之前制做的Ml-fcO'JQ:Q好(镜Y象reeBSD\目录下,重命名为minios.img文件。最后一件事是需要创建一个启动引导器的菜单。在D:\PxE\FREEBsD目录下创建一个子目录PXELINUX.CFG12。在这个新创建的目录下,创建一个文件命名为defau1t,不带扩展名。写入以下内容:DEFAULTmenu.C32PROMPT。ALLOWOPTI0NS0TTME0UT50MENUTITLEMini0SMenuLABELFreeBSDMENULABELBSDMENUDEFAULTBSDkernelmemdiSkappendinitrd=minios.imgharddiSkLABELlOcalLOCALBOOTO配置完成后,就可以运行TFTPD32软件了。第一次运行时,需要在配置面板中,根据网络环境配置一下TFTP服务器和DHCP服务器。TFTPSERVER霞犀CurrentDirectory和Serverinterface。在DHCP服务器配置栏,润勒文件为pxe1inux.0„参见图:3.2……厨而丽丽五……TftpSHverlTSpClIentDHoo<WILog...r)IPp砌sIa 匍i—SizeoIpoOIrB00tFi|e届面筑r—WINS/DNSs㈣m釉ijji-:|Mask[255255—2—55.0...1DomamName际习磊阳百ii一i面…i菇懦2III/28291::4282.:饕桂器仅"I]/夕的6阳二供11已幻:幺器。掰器性愚用329.=681夕2。:8型(网&黑出⑷C0cc=29=D:29:^吧『塑也一H些图32:TFTP服务器设置33软件仓库的建立软件仓库是用来集中放置整个公司内部可用的软件集。软件的集中放置有利于软件生存期的管理。33.1软件仓库的目录组织软件仓库为服务器上一个指定日录,同时,应建市FTP服务,在WINDOW20fo以上的WIND0WS操作系统中,町以使用】Js1做为FTPJ]&务器。在强铢蛋*腑/使用VSFTPD"软件做为FTPf1&务。并将FTP根目录指向软件仓库目

图3.2:IFTP服务器设置3.3软件仓库的建立软件仓库是用来集中放置整个公司内部可用的软件集。软件的集中放置有利于软件生存期的管理。3.3.1软件仓库的目录组织软件仓库为服务器上一个指定目录,同时,应建立FTP服务,在WINDOWS2000以上的町MOWS操作系统中,可以使用1IS”做为FTP服务器。在UNIX服务器环境下可以使用VSFTPD”软件做为FTP服务.并将FTP根目录指向软件仓库目录。客户端在申请安装软件时,服务器端反馈给客户端所请求的软件包的URL路径,客户端利用FTP协议将软件包下载到客户机的磁盘上,并进行MD5的较验后,进行下一步的安装。在软件的组织上没有一定的要求,但是,基本上应该每个软件对应一个子目录,该软件的所有安装文件存放在此目录下。3.3.2软件包的要求WINDOWS环境的软件安装包应以MSI格式安装包为主,这是MICR0S0F推的驮伴夏妻包格式。MSI文件是Windowslnstaller的数据包,它实娅隹卷渝含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息。如目标目录路径、系统依赖项、安装选项和控制安装过程的属性。采用MSI安装的优势在于你可以随时彻底删除它们,更改安装选项,即使安装中途出现意想不到的错误,一样可以安全地恢复到以前的状态,正是凭着此强大功能,越来越多的软件开始使用MSI作为发行的方式了。UNIX环境下的软件包的设计,不同的平台给出不同的格式,如LINUX操作系统主要是RPM、DEB格式软件包,FREEBSD操作系统主要是TBZ格式的软编鼎于WINDOWS环境下的安装包,UNIX环境的软件包格式更统一。当客户端请求或服务器端推送软件时,客户端程序首先获取安装软件的绝对路径。通过月赶阿服务器上软件仓库的HTTP方式发布界面,将服务器软件仓库中的软件下载到本地进行安装。・篇偌・篇偌/MH月婀客第4章客户端程序设计舅婀客户端分为普通用户端与系统管理员客户,端产茬股泮舅婀的.跨笛台・J,广、门、1、,一…、一FAj4cL口,一由于是面向一般的计算机用户,所以图形化的用户界面将更有利于用户使用。•安全性高。客户端程序需要有为本地计算机安装软件的权力,所以一般是以本地管理员的身份运行的。安全性成为其重要的特征之一。•运行稳定。由于是客户代理程序来管理软件包,所以就不可避免的有“异常”出现。这里要求客户端能够有自我恢复的功能,不致于由于一个软件包的运行错误而导致程序的崩溃.在综合以上因素后,最终选择Tc1语言进行客户端的开发。1TcI语言简介Tell5是娜明,高效,可移渚陆•好的辅;';oTc1的发明人J教授在八十年代初,是伯克利大学的教授。在其教学过程中,他发现在集成电路CAD设计中,很多时间是花在编程建立测试环境上。并且,环境一旦发生了变化,就要重新修改代码以适应。这种费力而又低效的方法,迫使0usterhout教授力图寻找一种新的编程语言,它即要有好的代码可重用性,又要简单易学,这样就促成了Tel(TooICommandLanguage)语言的产生。

Tc1最初的构想的是希望把编程按照基『组件的方法(componentapproach),即与其为单个的应用程序编写成百上千行的程序代码,不如寻找一个种方法将程序分割成一个个小的,具备一定''完整”功能的、可重复使用的组件。这些小的组件小到可以基本满足一些独立的应用程序的需求,其它部分可由这些小的组件功能基础上生成。不同的组件有不同的功能,用于不同的目的。并可为其它的应用程序所利用。当然,这种语言还要有良好的扩展性,以便用户为其增添新的功能模块。最后,需要用一种强的,灵活的“胶水“这些组件“粘“合在一起,使各个组件之间可互相''通信",协同工作。程序设计有如拼图游戏一样,这种设计思想与后来的Java不谋而合。终于在1988年的春天,这种强大灵活的胶水一Tc1语言被发明出来了。2Tc1语言特点按照0usterh。ut教授的定义,Tc1是一种可嵌入的命令脚本化语言(CScrPp0?伙弟BAge).“可嵌入”是指把很多应用有效,无缝地集成在一起.、、命令”是指每一条TC1语句都可以理解成命令加参数的形式:命令[参数1][参数2][参数3][参数4]...[参数N]脚本化是指Tc1为特殊的,特定的任务所设计。但从现在角度看,可以说Tc1是一种集C语言灵活强大的功能与BASIC语言易学高效的风格于一身的通用程序设计语言。Tc1的总体结构见图(注:图中的黑方块代表组件):4.1Tk(Too1Kit)10是基于Te1的图形程序开发工具箱,是Te1的重要扩展部分。Tk隐含许多C/C++程序员需要了解的程序设计细节,可快速地开发基于图形界面WINDOWS的程序。据称,用Tc1/Tk开发一个简单的GUI应用程序只需几个小时,比用C/C++要提高效率十倍。需要指明的是这里所说的“窗口”是指Te1定义的窗口,与X-Windows与MSWindows的定义有所不同,但它可霆秀他以上两个系统上。Ti1e(AnimprovedthemeingengineforTk)是新一代的Tk核心组件的重写,除去几个额外的新增组件,附加上Ti1e组件的Tk应用程序能够展现出更接近于本地平台应用程序界面,并且具有现代的、高度动态化的组件渲染引擎,可以产生出多种样式的用户界面。Ti1e组件是对当前Tk组件的补充,并且已被集成到了Tk组件库中了。ExtensionTclApplication图4.1:Te1语言的结构设计图Tc1语言具有很好的跨平台性,在主流的操作系统下,比如:WINDOWS、LINUX、FREEBSD,MACOSX等等上都有移植。不同于C语言、JAvA语靠籁处城技术来针对不同的操作系统编译不同的代码,纯Tc1代码几乎只字不用更改,即可运行在多种平台上。小因为工£1赭言强太的功能,广泛的移植,简单的语法;图形库丰富,所以、月嫡最终选择了Tc1柞为开爰客户端的编程语言。4.3软件组织结构整个奠婀客户端软件设计时功能划分为zi就辨和用户界雕洌了班r端4.3.1用户界面用户界面采用了Tk组件库和以及Ti1e组件库,来得到如果在本地操作系统平台上的应用程序般的用户界面。在WINDOWS平台上,程序界面类似于WINDOWS的”添加或删除程序”组件的样式,见图:4.2oAvdabkupdates:Name1v...nAdobeAAvdabkupdates:Name1v...nAdobeAcrobatReader6OIAdobePhoto5hop70W1NRAR30Windov6patchl0 -> -U||T一Z畔陀一^20^9-02(417.14411^20^9-02(417.1441图42:月面。叮客户端左边三个图形按键突出显示出客户端所具备的三个主要功能:升级现在应用程序、安装新的应用程序以及删除己安装的应用程序。以下对各功能进行说明。升级软件的功能月切叮客户端通过查询服务器端的数据库系统.获取当前客户端安装的所有软件,并查询服务器端对应软件是否存在更新的版本.如果有,就将对应的新的软件列显在右侧列表栏中。当用户在右侧列表栏中选中某一软件时,再点击。update擞键时,月瑚叮客户端就会对本地他例行删除,同时安装新版本的软件。安装新软件的功能月8叮客户端通过查询服务器端的数据库系统,获取当前服务器上装载的所有软件,客户可以选中某一软件后,点一击"Insta11墩镰感学用海娜蝴七进行安装。删除已安装的软件的功能月如盯客户端通过查询服务器端的数据库系统,获取当前客户端安装的所有软件,罗列在右侧列表栏中.用户选中某一软件后,点击“Rem。ve”

图4.2:客户端左边三个图形按键突出显示出客户端所具备的三个主要功能:升级现在应用程序、安装新的应用程序以及删除已安装的应用程序。以下对各功能进行说明。升级软件的功能AuOT:客户端通过杳询服务器端的数据库系统,获取当前客户端安装的所有软件,并查询服务器端对应软件是否存在更新的版本,如果有,就将对应的新的软件列显在右侧列表栏中。当用户在右侧列表栏中选中某一软件时,再点击"Update”按键时,AidlH:客户端就会对本地的旧软件进行删除,同时安装新版本的软件。安装新软件的功能/2T客户端通过查询服务器端的数据库系统,获取当前服务器上装载的所有软件,客户可以选中某一软件后,点击"Install”按键后,幺MT就会调用安装例程进行安装。删除已安装的软件的功能AidFT客户端通过查询服务器端的数据库系统,获取当前客户端安装的所有软件,罗列在右侧列表栏中,用户选中某一软件后,点击^Remove”就可以删除该软件了。3.2数据库连接展菇弘歹采用PostgreSQL数据库系统,在与数据库通讯时,使用了PGT件。PCG11W1是客户端程序与PostgreSQL数据库服务器通讯的Tc1软件微现学几乎全部的1ibpq库提供的函数,使其可在Tc1脚本中使用。在设计月婀时,将与数据库通讯部分的函名空噪片伟锵军中魁弓牡邠^:叫女单田湾啰供数据库连接与断开等其趣]勒藤部必屈呆源H'Jd祖:conn变量中,并维护状态。当外界调用数据库的连接函数时,首先检查conn变量中保存的数据库当前是否已保存有数据库的连接句柄,如果有,则直接将句柄返回给调用者,如果没有或连接已超时,则调用PGTc1的数据库连接函数,连接到PostgreSQL数据库,保存当前连接句柄到conn变量中,最后返回conn的值给调用者。由于数据库的查询与更新涉及的参数众多,无法通过统一的形式统一到::db命名空间内。数据库的查询与更新主要通过数据库的存贮过程完成,在P。stgreSQL中称为函数,通过数据库函数调用这种方式查询和更新数据库,将对数据库的操作集中在了几个特定的函数上了,有利于后期的维护。3.3回调函数调朝芮道案上学柞瑞虎的蕾毅;循懈着用户在陋」醒避社函酗构财暄功,柄。丁用kI月栅洞期前端弁展避理申的回调函数按功界面前胭乜,夕厚咯神与翳夕也1点击错喋例华।肾步形用户娟幻K刃后&厥必I融雨崎勺和L®新月及fc本的管理的具体实施。在回调函数中,核心函数为“DowithSotwarelV,该回调函数根据当前环境(保存在全局变量ACTION中)调用不同的处理子过程完成软件安装、卸载或升级的操作。程序片段见下:wiwitch—exact[stringtupdate{UpdateSoftwa}add{AddSoftware}remove{RemoveSof)defaultferrorMActo1owerSAction]{retwareionnotfound:SAction而三个具体操作子过程都会创建出一个子Tc1解析器,用来解析从服务器端数据库中获取软件的操作TeI脚本,从而完成软件的安装或卸载。Te1的子解析器是Tc1语言轻量级的数据结构,在创建子解析器时,可以创建功能受限的子解析器,达到安全地运行从服务器端获取到的软件操作Tc1脚本。3.4监听功能月碰阿在随操作系统起动时,以服务的方式自动运行,并且监听在TCP1088端口上,等待接收服务器端的指令。由于Tc1语言属于动态的脚本语言,同编译型语言,比如C语言或Pascal语言的不同之处,就是脚本语言可以在脚本中创建解析器本身,也即是调用解析器的功能去运行外界获取的脚木程序。月说阿监听在1088端口,在服务器需要推送软件安装到客户机时,可以通过连接到客户机的监听端口匕发送一段指令给客户端,而指令本身即是用Tc1语言编写的•段脚本程序。客户端在收到这段指令后,也即是收到一段Tc1脚本程序,在动态创建的Tc1解释器中,运行这段Tc1脚本程序。这就极大的丰富了服务器端与客户端交互的灵活性,即指令可以完成所有功能,而不需要另外指令集。Tc1语言核心就支持创建1个或更多的Tc1解释器,能够和创建它的解释器共存于同一个应用程序中。创建子解释器的解释器称作主解释器,向新创建的子解释器称为从解释器。一个主解释器可以创建任意数目的从解释器,面每•个从解释器自己也可以创建解释器,在这里,这个从解释器称为主解释器,而由他创建的解释器称为从解释器.以此会产生出由解释器组成的一个层次结构。每•个解释器都独立于其它的解释器,它具有自己的命令、过程和全局变量的命名空间。一个主解释器可以通过使用一种称为"别名''的机制,创建出与从解释器的连接。•个'别名IV是在从解释器中的•个命令,当它被调用时,导致一个命令会在它的主解释器中执行,或者是在其它的从解释器中执行。还有就是通过全局变量在解释器之间传递数据,全局变量一般是在应用程序的所有解释器这问共享的。Ic1语言中的interp命令也用来创建“安全”的解释器。一个“安全”的解释器是指一个功能函数受到很大限制的从解释器,因此不用担心以它来执行不受信的脚本会影响其它的解释器或应用程序的运行环境。月碰碟客户端监听端口收到这段Tc1语言程序指令,会首先创建一个安全的子Ic1解析器,用户在创建解析器后,首先运行一些初始化程序,以达到限制子解析器的功能。本身可以在程序创建服务器端根据相关指令进行操作,如安装新软件、更新系统配置等。月勰使用了wINIC019程序包,为化至悌WTNDOWS平台的客户端软件提供了4.4聪4版件的封装starkit20是Tel的一个扩展模块,是一段在开始处可以用source命令导入的Tc1代码,后面附有一个metakit文件系统。采用这种格式,可以封装一个Tc1软件包,也可以用来封装整个应用程序。Starkit的优点是具有为不同操作系统进行打包的功能,奠定了月淑的客户端的跨平)台日生垮用如下命令进行封装:sdxwrapAidlTclient.exe-runtimetclkit.exe-vfsAidIT-client.vfSFREEBSD客户端使用如下命令进行封装:sdxwrapAid1TcIient—runtimetcIkit—vfsAid1T—c1ient.vfs月碰阿客户端采用starkit封装后,应用程序仅为单一的一个件。画椒4.5客户端软件的安装客户端软件是随着操作系统的布署时,自动安装进系统的。之前已经将客户端程序封装成一个单一的程序包,但是该程序包不具有安装功能,所以需要为不同操作系统产生不同的安装程序。4.5.1W1NDOWS客户端的安装由于要将月婀的客户端安装到wINDO笄使期豌为"种可以SRVANY软件是一款可以将普通的应用程序作为系统服务的方式来运行,其安装简单,工作稳定,是理想的系统服务安装工具。SRVANY的使用方法可以参考z2。首先落噗嫡的容卢舞舞员到索养衢柒目录下M碰爵目最黑;然扃篇服务运行时将运行srvany.exe程序。srvany.exe是一个代理程序,它将会根据注册表中的相关配置信息,找到真正要执行的程序,然后运行之。同时它还负责将系统的消息传达到被代理的应用程序上,比如,关闭服务就要求停止被代理的应用程序,srvany将会发送TERM信号到该程序上使这关闭。有了srvany.exe代理程序,应用程序仍以通常的方式运行,但却可以成为系统服务了,有关系统服务程序的复杂细节,都由srvany程序代为处理了,从而简化的系统服务应用程序开发的复杂性。srVany程序需要配置成运行么碰阿的客户端,这可以通过导入事先准好的演表文件完成。注册表文件说明如下:WindowsRegistryEditorVersion5.00[HKEYLOCALMACHINE\SYSTEM\CurrentContro1Set\Services\AidIT][HKEYLOCALMACHINE\SYSTEM\CurrentContro1Set\Services\AidIT\P . 、 、arameters]MApplication"="C:\AidIT\AidIT.exe”鼻帽的客户端即司厂累细掇嬖裳完成后,默默:1£翔运衽的小厮以更以不netstartAidIT这样就完成了客户端的自动安装与以系统服务的方式自动运行的目标。4.5.2FREEBSD客户端的安装FREEBSD系统服务的安装要简单的多了,只需启动服务的运行脚本放置至U/etc/rc.d/目录下,然后在/etc/rc.conf文件中增加下面一行内容,即可使之自动成为服务运行。Aid工Tenable="YES”按照FREEBSD的惯例,需要为月珊的舒洞编邕讲管送提睡值脚本,也T然后运行/usr/local/AidIT/AidIT即可。4.6系统管理员端程序设计针对舅珊的系统管理员端的程序,类似于面如臂通容户端的程序,程序界表4.1:客户端软件与管理员软件功能差异图43:系统管理*端程序界面由表41.1知,月劫叮系统管理员丰要完成对软件仓库的管理、时客户端的信息管理.对客户端推送软件包和将外部现有的客户机加入到月锄叮系统管理的范围巾。61软件仓库管理月城叮系统管理员的主要工作之一,就是发布新的软件以供客户机进行选择性安装或强制性安装。以及删除己过期的软件。软件的添加入库分为以下几个步骤:•准备好软件包。为不同操作系统准备的软件包具有不同的格式,软件包的格式见下一章•为软件包编写好安装脚本。软件包安装时,通常会有一些参数可供用户进行选择,常见选项如:安装路径、组件选择、注册信息等等。为了自动化地进行软件安装。有必要为这些需用户提供的信息填上预设值。这些预设值就是这段安装脚本So竹waregDEPO aOebe,e—EcrowftofficemcrosoftwMowsnnoxAafrefoximponMewSoHABresVe^wn; Die52~~~2009312003200e-2-2XP2009-3U302009-3-1di>pteyRemoveSoftwaresCftentsManaoewent图4.3:系统管理员端程序界面由表4.1可知,Aidir系统管理员主要完成对软件仓库的管理、对客户端的信息管理,对客户端推送软件包和将外部现有的客户机加入到/皿系统管理的范围中。6.1软件仓库管理系统管理员的主要工作之一,就是发布新的软件以供客户机进行选择性安装或强制性安装。以及删除已过期的软件。软件的添加入库分为以下几个步骤:•准备好软件包。为不同操作系统准备的软件包具有不同的格式,软件包的格式见下一章。为软件包编写好安装脚本。软件包安装时,通常会有一些参数可供用户进行选择,常见选项如:安装路径、组件选择、注册信息等等.为了自动化地进行软件安装,有必要为这些需用户提供的信息填上预设值。这些预设值就是这段安装脚本通常需要完成的功能。例如,在WIND。WS平台下安装一个MSI格式的软件包,通常要提供参数/quiet或/passive以达到无人参与的方式安装软件包,并且,有时需要提供目标目录如DESTDIR=C:\ProgramFi1es\7zip等等。例如安装7ZIP软件包时,可以编写如下代码:systemmsiexec/pa$sive/i72457chs.msiDESTDIR=C:\ProgramFi1es\7Zip•上传软件包。将软件包通过FTP方式转送到服务器的软件仓库目录下。并记录下相对于软件仓库根目录的相对路径。•导入软件包。软件包在上传到服务器后,软件包的相关信息也应该存贮在后台的数据库中的Software表中,这样才可以让客户端通过查询数据库的方式,获取到当前系统的软件仓库的软件。软件包需要包括以下信息:一软件包的名称。每一个软件包都要设置一个名称,以方便用户查询,名称要以所打包的软件的名称为依据,最好能够使用户能见名知意。.软件包的平台。由于月£旌誓系统是跨平台的软件管理系统,软件也就区分为不同的平台。.软件的版本。版本号也应以所打包软件的版本号为依据。.通过点击”导入软件包”按键,激活软件包导入功能。在弹出的对话框内,填入相关信息后,软件包在软件仓库中的位置信息以及软件包的安装参数等信息就会存贮在服务器端的数据库中。通过以上步骤,就可以将软件包导入到软件仓库中,供客户端安装使用。6.2客户端信息管理客户端信息主要包括以下几个方面的信息:客户机的硬盘分区情况。客户机上已安装的软件表。客户机所属部门或组。•客户机的权限。以上信息记录当前客户机的软硬件环境。当客户机需要重建软件环境或迁移时,可以根据上述信息,对FI标机器进行自动化重建,达到无人执守地完成客户机的安装与配置,以减少IT人员的参与量。.6.3客户端软件推送当需要给全部或部分客户端计算机安装新软件时,就需耍从服务器端将软件推送到客户端。系统管理员只需要在客户端添加匕新的软件包即可。服务器端会自动连接到客户端。如果连接失败,就会将此任务的状态改为延迟。客户端计算机连接到网络上后,奠碰阿客户端会发送一个注册信息到服务器端,服务器端在收到此信息后,会将此客户端的状态改为''在线",系统管理员就可以一目了然当前有多少台客户端连接在服务器上了。第5章软件包的设计.1W1NDOWS平台软件包WINDOWSXP操作系统本身亦作为舅碰阿系统的一个软件包,所以WINDOWS平台的软件包包括操作系统软件包和一股应用程序软件包。5.1.1软件包f/IND(MSXPWINDOWSXP是本系统的第一个软件包,由于共本身属了操作系统的范畴,又因为目前企业中以此系统的装机量为最多,所以本系统首先要实现wiNDOWSXP的自动布署。磁盘分区磁盘的分区与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论