想知道怎么在solaris中创建自己的包吗???快来看吧!!

发表于:2007-06-09来源:作者:点击数: 标签:
在solaris中创建自己的软件包 ----------------------------------------------------------------------------- 在solaris中创建自己的软件包是很容易的,只需要几个简单的步骤,下面我以 apacheweb 服务器 作为例子。 1、当我们下载了apache的原代码并按自

在solaris中创建自己的软件包
-----------------------------------------------------------------------------
在solaris中创建自己的软件包是很容易的,只需要几个简单的步骤,下面我以
apache web服务器作为例子。

1、当我们下载了apache的原代码并按自己的需要编译、配置完之后(假设apache被放
在/usr/local/apache目录中),我们需要创建两个创建包的文件:prototype文件(包
含档案中存储的所有文件列表以及它们的文件权限)和pkginfo文件(包含对包的所有
描述信息,包括创建者、结构以及主目录)。
    要创建prototype文件,我们可以使用find命令创建一个包安装的主目录下所有文
件的列表。在本例中,主目录是/usr/local/apache,使用以下命令:

# cd /usr/local/apache
# find . -print | pkgproto > prototype

以上命令在/usr/local/apache目录中创建prototype文件,在确认希望打包的所有文件
都在prototype文件中列出后,需要手工的加入pkginfo文件的信息到prototype文件中:
i pkginfo=./pkginfo
    之后你需要在/usr/local/apache目录中手工创建pkginfo文件,该文件包含以下条目:

PKG="MYApache"                   包的名称
NAME="Apache"                    包中包含的应用程序的名称
ARCH="sparc"                     目标的操作系统(sparc或intel)
VERSION="2.0.12"                 包的版本号
CATEGORY="application"           是应用程序还是系统应用程序
VENDOR="XXXX"                    软件的供应商名称
EMAIL="master@163.net"           开发商的email
PSTAMP="Tom chueng"              包创建者的名称
BASEDIR="/usr/local/apache"      安装包文件的主目录
CLASSES="none"

2、创建好以上两个文件之后,就准备好创建包了。

# cd /usr/local/apaceh
# pkgmk -o -r /usr/local/apache

以上命令将在/var/spool/pkg目录中创建一个名为MYApache的目录。

# cd /var/spool/pkg
# pkgtrans -s /var/spool/pkg /tmp/MYApache-2.0.12-sparc-local

现在你已经成功地在/tmp目录中创建了包(MYApache-2.0.12-sparc-local),为了减少
包的大小,可以使用gzip命令压缩其内容:

# cd /tmp
# gzip MYApache-2.0.12-sparc-local

现在你就可以将你的包发布给其他用户!!并使用pkgadd命令来安装!!!

 bear 回复于:2002-03-26 19:13:49
谢谢"阿骁",希望会对大家有帮助.

 阿骁 回复于:2002-03-26 20:44:39
呵呵。。。。。。 :)

我也是这样希望的!!!

 enterprise 回复于:2002-03-26 23:09:36
很有意识,不知道作用大不大。呵呵。

 mathon 回复于:2002-03-26 23:35:52
补充两点:
1. find . -print | pkgproto > prototype 可以只用 pkgproto > prototype
2. 这样发布的包目标机器中的安装目录与原开发机器上的目录就只能是一样的
   的了。其实要想不一样也是可以的,不过要对产生的prototype进行一些处理。

具体的只能看相关的手册了。 pkgproto, pkginfo, pkgmk等等。

不过这份写得还真的算得上挺容易上手的COOKBOOK。

 阿骁 回复于:2002-03-27 08:11:23
我觉得对备份自己配置好的软件有点用,或自己修改过原代码,想发布时就有用了吧!!

 随意江湖行 回复于:2002-03-27 10:43:25
不错,不错。
谢谢,谢谢!

 tutoba 回复于:2002-03-27 11:21:49
挺好,前几天刚看到一篇文章,也是讲这个的,今天就复习一遍。

 tutoba 回复于:2002-03-27 12:19:52
pkgtrans -s /var/spool/pkg /tmp/MYApache-2.0.12-sparc-local 
这一步干什么用???

 doffinee 回复于:2002-11-12 21:14:51
Solaris的pkg一般以两种格式提供,一种是基于目录的,往往以tar包的形式发布;一种是单个文件的流格式,在sunfreeware上提供的都是流格式的。
pkgtrans 是在两种格式之间转换的命令;这里,是从前者向后者的转换。

原文转自:http://www.ltesting.net