快速业务通道

在Solaris下制作可使用pkgadd安装的的软件包

作者 佚名技术 来源 操作系统 浏览 发布时间 2012-06-28

注意: 在以下某些步骤中, 需要在你的机器上有 root 的权利才能使用.

** 选择你的软体

找寻软体的原始程式码, 将它下载. 读取所有和安装有关的文件. 并注意所有的设定档, 当然也包含检查 Makefile. 解可执行档案及它们的 link 情况.

** 读取 manuals 和 man page

虽然许多人都不太愿意去读这些 man page, 或许你会觉得看 man pgae 是很累的事但是最好还是看一下, 下面这些指令的 man page.

pkgadd, pkginfo,pkgmk,pkgparam,pkgproto,pkgtrans,pkgrm

这里有许多的 option 还有详细的说明, 你必需解, 以方便以下的说明.

** 设定目录结构

通常, 我惯建立一个目录, 如 /opt/SoftWare . 一般而言, 大部份的软体都会安装在 /usr/local 下, 建立 /opt/SoftWare 是要存放将要做成 package 的软体, 而避免和原来 /usr/local 下的档案混在一起. 在下一个步骤将会说明如何使用它.

** 编译并安装软体在 /usr/local 或其它地方

改变目录至你存放软体原始程式的位置, 并且读取相关的指令使用. 大部份的软体都会有详细的安装指令, 这些指令通常以 README INSTALL 等方式的档名出现. 仔细的读取, 并将你的软体编译成可执行档. 当你的软体编译完成, 你会执行如 "make install" 之类的指令, 用以安装你的程式到 /usr/local 或其它地方. 在执行 "make install" 之前, 你需要做以下的动作:

% su
% cd /usr
% mv local local.full
% ln -s local /opt/SoftWare

然後再执行 "make install" , 这样一来, 虽然是装在 /usr/local , 但实际上是放在 /opt/SoftWare 里面.

** 建立 prototype 和 pkginfo 这两个档

改变目录至 /usr/local ...

% cd /usr/local

执行以下的指令 ...

% find . -print | pkgproto > prototype

这行指令会建立一个 prototype 档在 /usr/local
接下来, 使用你的文字编辑器 (如 vi), 来编辑 prototype 这个档, 加入下面那行

i pkginfo=./pkginfo

并将 user 和 group 均改成 bin. 以下是一个修改完的例子...

i pkginfo=./pkginfo
d none bin 0755 bin bin
f none bin/prog 0755 bin bin
d none doc 0755 bin bin
f none doc/doc1 0644 bin bin
d none lib 0755 bin bin
f none lib/lib1 0644 bin bin
d none man 0755 bin bin
f none man/man1 0644 bin bin

将 user 和 group 均改成 bin 是非常重要的, 如果 user 和 group 不是 bin 时在使用 pkgadd 安装时, 将无法正常执行.

再来, 在 /usr/local 下建立 pkginfo 这个档案, 格式如下 :

PKG="SCprog"
NAME="prog"
ARCH="sparc"
VERSION="1.00"
CATEGORY="application"
VENDOR="Computer Science of Chun-Hua University"
EMAIL="chunpo@csie.chu.edu.tw"
PSTAMP="PodsCat Kuo"
BASEDIR="/usr/local"
CLASSES="none"

这些参数说明如下:

PKG= 你所选择 package 的目录名称
NAME= 程式名称
ARCH= 作业系统的版本
VERSION= 程式的版本编号
CATEGORY= 这个程式是一个 application
VENDOR= 写这个程式的公司
EMAIL= e-mail 的内容
PSTAMP= 是谁作这个软体
BASEDIR= /usr/local 是档案安装的地方
CLASSES= 只要写 none 就好了

** 执行 pkgmk

在 /usr/local 内执行以下的指令...

% pkgmk -r `pwd`

执行这个指令之後, 会在 /var/spool/pkg 建立一个 package 的目录(以上面的例子, 会建立一个 SCprog 的目录), 里面则存放你做好的 package.

基本上, package 已经可以算做完成, 你可以把这个 SCprog 用 tar 和 gzip 压起来就可以了. 安装时, 只需要把它解开成 SCprog 的目录型式, 然後执行

% pkagdd -d .

这样就可以了...

** 执行 pkgtrans

使用 pkgtrans 可以将你

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号