问题:
很多软件产品完工之后,都会做成一个软件包,以便于用户用custom工具进行安装。哪位能详细描述一下,做软件包的过程?
答:
SCO OPENSERVER 下custom发布软件的制作方法
在SCO OPENSERVER5.0.x下,软件都用cutsom管理用户通过该工具,可以很好地进行软件的安装、升级、删除;开发商通过该工具,可以很好地管理好开发的发布软件的版本。利用SCO OPENSERVER下的一个工具——Custom Distribution Master ToolKit,本文提供了custom发布软件的制作方法。
CDMT生成的发布软件,根据其介质可为软盘、磁带或光盘版。其中光盘发布软件的生成比较困难,这是由于SCO OPENSERVER支持的光盘刻录机比较少,往往只好借助于windows或linux下的刻录工具。然而,现在软件大都通过光盘来安装,因此,光盘发布软件的制作显得尤为重要。下面将具体介绍CDMT生成发布软件的具体过程,包括软盘、磁带和光盘。
一、确定你的产品结构
SCO OPENSERVER下,custom按照如下层次组织系统上安装的软件:
如产品SCO OpenServer 5.0.x被分成很多组件,如Xclient和Wserver,每一个组件又分成多个包,如man等。
为了说明方便,我们所举的例中名称都取为一个,并且只有一个组件和一个包,名字全部为test。
二、确定每个文件的属性
属性有shared(/opt)和non-shared(/var/opt)之分,其中shared的文件为只读,non-shared的文件为可读可写。本处为说明方便,所举的例子中的文件全部为shared。
三、构件软件的目录结构
所安装的test软件的目录结构为:
/usr/test/.profile
database/
dblog/
bin/
tmp/
四、设置CDMT的环境
设置生成该Distribution的根目录CDMT-DIR环境变量,在命令行下键入:
#CDMT-DIR=/usr/test
#export CDMT-DIR
五、生成CDMT命令所需的输入文件
包括三个文件,分别是:
$CDMT-DIR/input/test.prd
$CDMT-DIR/input/test.cmpnt
$CDMT-DIR/input/test.pkg上述三个文件可以用vi生成,也可以用如下两条命令生成后用vi修改:
在$CDMT-DIR目录下:
find.-print>/tmp/TEST.files
cdmtConvert/tmp/TEST.files
在input目录下,生成了四个文件,其中一个是为生成cdmt.config文件的。
转到$CDMT-DIR目录下,执行命令:
#vi$CDMT-DIR/cdmt.config
在该文件下输入:
CONFIG:
ArchiveMedia=CD
CD-MEDIA:
DistCode=“CDDist”
再把input目录下的test.config文件中的内容拷贝到test.config中。
以上的config文件是为生成光盘介质,生成其它介质的config也类似,可以参考随机手册。
六、生成SSO树
在CDMT-DIR宏已设定的条件下,在任何目录下(当然,一般都在$CDMT-DIR/下)先后执行以下三个命令:
1cdmtParse,该命令软件存储对象(SSO)数据库,它读取CDMT的input文件,并把生成的SSO放在$CDMT-DIR/sso下。
2CdmtCompress,该命令构件SSO的目录,并压缩它。
3CdmtArchive,该名另生成可custom安装的格式。
七、从硬盘上移到指定介质上
1若是FLOPPY,可以用以下命令
cdmtArchive -media FLOPPY -copy
默认状态下,系统用cpio拷贝到软盘上,cpio有个缺点,不检查写得是否正确;用tar也一样。往往在多张软盘tar到硬盘上时,发现最后一张盘有问题,而不得不从头来。
2若是TAPE,可以用以下命令
cdmtArchive -media TAPE -copy
默认状态下,在磁带上生成一个文件系统。此步完成即完成整个制作过程。
3若是CD介质,比较复杂
(1)#cd /usr/test/sso#ls可在其下看见—opt目录
(2)用mkisofs工具生成ISO9660的文件系统
mkisofs可从internet上downlad下来,编译后可以使用
mkisofs -r -T -o cd-image.iso
其中,表示对当前目录操作,不可改为opt。
此时,在/usr/test目录下,生成文件cd-image.iso,该文件即是用来刻录的镜像文件。
(3)把cd-image.iso移到windows操作系统下,在该操作系统下进行刻录。可以用ftp方式(windows和openserver不在同一计算机中),也可以用mount方式(windows和openserver在同一计算机中)。用windows下的刻录软件刻录该软件。