中国青基会
RSS
热门关键字:  None  linux+moodle安装  mac  rhel5  199
当前位置 : Nixsky>UNIX>SCO UNIX>列表

在 SCO OpenServer 环境中制作 tar 格式的 custom 安装包

来源:CU 作者:snow888 时间:2007-05-02 点击:

这三个文件是制作 TAR 格式安装包的工具性文件,需要配合 SCO Unix 的 shell 命令来

使用,以下就给出一个简要说明。

SCO Unix 通过 custom 安装文件包时,有两种格式,一种为 CPIO 格式,这个格式的文

件建立,可以使用 SCO 提供的 CDMT 客户分布控制工具包来建立,一种为 TAR 格式,

使用本 BUILD 工具包来建立,这里讲解的是 BUILD 建立客户分布控制安装包的建立过

程。

以下,我将使用两个详细的例子来加以说明。
=================================================

[ 例一:只包含一个组件包的安装包的制作过程 ]

TAR 格式的安装包需要四个最基本的控制文件:
/tmp/init.包文件名
/tmp/perms/包文件名.perms
/usr/lib/custom/包文件名.rmv
/tmp/_lbl/prd=包文件名/typ=os版本/rel=软件包的版本号/vol=卷标


这四个文件的功能说明如下:
# -------------------------------
# /tmp/init.包文件名
# -------------------------------
这是安装脚本文件,该文件在安装程序拷贝其他的软件包后开始执行,主要完成程序包

运行环境的初始化工作。

# -------------------------------------------
# /tmp/perms/包文件名.perms
# -------------------------------------------
软件包的信息说明文件,该文件包含你要发布的软件包的文件,宿主关系,文件的执行

权限,每个文件分属于哪个安装卷,等等。也包含软件包名,软件包运行的环境,软件

包的版本等信息。

# -------------------------------------------
# /usr/lib/custom/包文件名.rmv
# ------------------------------------------
卸载该软件包的脚本文件。如果您由于某种原因要卸载该软件包,那么在卸载过程开始

之前,该文件被运行,它一般是执行的 “/tmp/init.包文件名” 文件的逆操作。

# ---------------------------------------------------------------------------------------------
# /tmp/_lbl/prd=包文件名/typ=os版本/rel=软件包的版本号/vol=卷标
# ---------------------------------------------------------------------------------------------
软件包的卷号,主要是确定软件发行介质是否真实有效。


以下就这四个文件的建立来加以说明,我们以 re2c-0.9.11 为例来加以说明。

假设,我们的 re2c 软件包文件安装以后的内容如下:

/usr/local/re2c/bin/re2c
/usr/local/re2c/usr/man/man1/re2c.1

首先,我们在一个大包用户下建立将来需要安装的文件系统和路径。如:我们可以建立

一个 work 用户,然后在该用户下操作。

进入 work 用户:
login:work
passwd: <you passwd>

创建需要制作安装包的文件在 work 用户下的相关目录。

$  mkdir re2c
$ cd re2c


创建卷标文件(这里,我们假定使用 sco3.2v5.0.x 系统)

$ mkdir -p tmp/_lbl/prd=re2c/typ=os50/rel=0.9.11
$ cd tmp/_lbl_prd=re2c/typ=os50/rel=0.9.11
$ >vol=01

创建文件安装路径(我们假定安装到 /usr/local 目录下去)
$ cd /usr/work/re2c
$ mkdir -p usr/local
$ cd usr/local

拷贝需要安装的文件到该目录下。
$ cp /tmp/re2c/* .

创建系统安装和卸载时的脚本执行文件 init.re2c 和 re2c.rmv
$ cd /usr/work/re2c
$ mkdir -p usr/lib/custom
$ cd tmp
$ >init.re2c
$ cd /usr/work/re2c/usr/lib/custom
$ >re2c.rmv

创建包文件信息库文件 re2c.perms
$ cd /usr/work/re2c/tmp
$ mkdir perms
$ cd perms
$ >re2c.perms

创建文件内容信息文件
$ cd /usr/work/re2c
$ find . -print >re2c.files

经过此步骤后,你的文件包内容信息文件的内容可能如下。
./
./tmp
./tmp/_lbl
./tmp/_lbl/prd=re2c
./tmp/_lbl/prd=re2c/typ=os50
./tmp/_lbl/prd=re2c/typ=os50/rel=0.9.11
./tmp/_lbl/prd=re2c/typ=os50/rel=0.9.11/vol=01
./tmp/init.re2c
./tmp/perms/re2c.perms
./usr
./usr/lib
./usr/lib/custom
./usr/lib/custom/re2c.rmv
./usr/local
./usr/local/re2c
./usr/local/re2c/bin
./usr/local/re2c/bin/re2c
./usr/local/re2c/usr
./usr/local/re2c/usr/man
./usr/local/re2c/usr/man/man1
./usr/local/re2c/usr/man/man1/re2c.1

此时,我们将该文件备份 2 份,文件名可以自定,这里我定义为 build01.files 和

build02.files .
$ cp re2c.files build01.files
$ cp re2c.files build02.files

然后,我们修改 build01.files ,将其中的所有目录去掉(这样做的目的是为了压缩软件

包,减少发行介质的使用,如果你不想发布经过压缩的版本,本步骤可以不做)。
修改后的 build01.files 文件内容如下:

./tmp/_lbl/prd=re2c/typ=os50/rel=0.9.11/vol=01
./tmp/init.re2c
./tmp/perms/re2c.perms
./usr/lib/custom/re2c.rmv
./usr/local/re2c/bin/re2c
./usr/local/re2c/usr/man/man1/re2c.1

然后,我们生成压缩脚本文件。
$ buildCompress build01.files compress.files

下面,我们开始生成你要发布的软件包的信息文件,修改你的 build02.files 文件,将该

文件中的公共目录部分去掉,只保留你自己的私有目录和所有需要发布的文件。
修改后的文件内容如下:
./tmp/_lbl/prd=re2c/typ=os50/rel=0.9.11/vol=01
./tmp/init.re2c
./tmp/perms/re2c.perms
./usr/lib/custom/re2c.rmv
./usr/local/re2c
./usr/local/re2c/bin
./usr/local/re2c/bin/re2c
./usr/local/re2c/usr
./usr/local/re2c/usr/man
./usr/local/re2c/usr/man/man1
./usr/local/re2c/usr/man/man1/re2c.1

好了,我们开始生成信息包临时文件,我取名字为 perms.files。

$ buildParse build02.files perms.files RE2C bin bin 01

执行这个命令后,你就初步生成了你的软件包信息文件。该文件的大体内容如下。

RE2C F755 bin/bin 1 ./tmp/_lbl/prd=re2c/typ=os50/rel=0.9.11/vol=01 

   01
RE2C F755 bin/bin 1 ./tmp/init.re2c   01
RE2C F755 bin/bin 1 ./tmp/perms/re2c.perms  01
RE2C F755 bin/bin 1 ./usr/lib/custom/re2c.rmv  01
RE2C F755 bin/bin 1 ./usr/local/re2c   01
RE2C F755 bin/bin 1 ./usr/local/re2c/bin   01
RE2C F755 bin/bin 1 ./usr/local/re2c/bin/re2c  01
RE2C F755 bin/bin 1 ./usr/local/re2c/usr   01
RE2C F755 bin/bin 1 ./usr/local/re2c/usr/man  01
RE2C F755 bin/bin 1 ./usr/local/re2c/usr/man/man1  01
RE2C F755 bin/bin 1 ./usr/local/re2c/usr/man/man1/re2c.1 01

好了,我们可以开始编写完整的软件包信息文件 re2c.perms 了,我们使用 vi 编辑器打

开这个空文件开始编写。

首先,我们需要确定软件包的简称,使用的环境,版本,在安装时显示的软件包的名称

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册