unix典型软件安装包pkg的制作

原创 2001年09月04日 16:39:00

 pkg是unix上典型的软件安装现在介绍pkg在sco和unixware上的使用
首先建立的是包的描述文件,prototype (package information file)
下面是个例子:
proto
# this file is example for prototype
# file pkgproto .=/usr/local
# s /foo/bar/etc/mount=../etc/mount
!PREJECTDIR=/usr/local
!BIN=$PROJECTDIR/bin
!search /usr/local/bin
d none /usr/local/hzh 0644 root bin
i pkginfo=xixiinfo
i /usr/local/xixi/version=version
d none /usr/local/bin 0755 root bin
!default 644 root other
f src /usr/local/bin/README=src/README 0755 root bin
# 是注解符号
# !开始的是个命令param=value
PREJECTDIR=/usr/local
# 表示设置一个环境变量PREJECTDIR
# search 表示加入path的命令搜索路径
# default 表示创建文件时的属主,权限等设置
# include 包含其他proto文件
# 其他不带!的由以下的格式描述
part ftype class pathname [major minor] [mode owner group]
part 部分描述,一个软件包可以分几个部分
 例如    1 driver
  2 develop env
该域可以省略,省略时为1
ftype 文件的描述
 b 块设备文件
 c 字符设备文件
 d 目录
 f 标准的文件
 i 安装信息文件
# 两个重要的文件是版本 version和包描述文件pkginfo(注意pkginfo是关键字,而
# 等号右边的是info文件名,在稍后将会介绍该文件的使用方法.
# depend action request可以不要,request 是你在安装包前执行的文件
# 在request中可以加入一些临时要出入的信息(例如客户资料)
i pkginfo=xixiinfo
i version=version
i depend=depend
 l 连接文件
 p 命名管道
 s 符号连接
 
class 描述文件的所属 例如 src exec...
pathname 所在的路径
如果是符号连接则会有路径2
 例如:s /foo/bar/etc/mount=../etc/mount
major minor 是设备文件的主辅助号
mode owner group 是创建时的权限 用户和群组

你所有的包中的文件啦目录啦都要用上述方法创建
当然有个快速建立该文件的方法
使用pkgproto .=/usr/local
其中.表示你源文件的目录路径
/usr/local为你要安装的路径


pkginfo 文件是描述该包的显示信息,版本信息等
以下是一个pkginfo 的例子:注意我使用hzhinfo是为了与proto文件中的pkginfo
相对应
ARCH=i386 硬件信息
PSTAMP="yymmddhhmm" #出品时间
PKG="包名"
NAME="包的说明"
VERSION="3" #版本
VENDOR="卖主信息"
HOTLINE="热线"
EMAIL="email"
VSTOCK="0122c3f5566"
CATEGORY="system.run"
ISTATES="S 2"
RSTATES="S 2"
除此之外还可以定义
BASEDIR=标准路径
CATEGORY=类别
CLASSES=级别
DESC=包描述信息
MAXINST=最多安装多少个包
...

好准备好以上几个文件后就可以制作包了
首先产生包
pkgmk -o -d /tmp -f proto     
其中  -o 表示覆盖已有的包
 -d 路径或设备(/def/fd0)
 -f proto的文件名
如果出现## Packaging complete.表示包顺利建成
你现在可以使用pkgadd -d /tmp来试着安装了

当安装成功可以正式发行时你可以使用
pkgtrans /tmp /tmp/xixi.pkg all
将/tmp 下的包创建为xixi.pkg
以后你就可以将xixi.pkg 带走在其他的机器上顺利的安装.

PKG安装包的管理与文件格式分析

不同的操作系统都有专属于自己的软件安装包格式。如Ubuntu系统上的deb安装包,Windows系统上的msi安装包等。macOS系统使用pkg作为软件安装包格式。 大多数macOS上开发的程序...
  • suhuaiqiang_janlay
  • suhuaiqiang_janlay
  • 2017年05月07日 20:59
  • 1051

Mac 下制作 安装包

pkg:一个产品被分成不同的组件(如:应用,框架,字体,文档等等),你应该为每个组建创建一个安装包。一个安装包是一个文件包,它包含一个组件,关于这个包的信息和它的payload。组件包:就是一个 以....
  • lihe2008125
  • lihe2008125
  • 2009年11月26日 18:29
  • 4423

mac 卸载pkg安装包

最近想安装一个pkg包的NetworkConnect的VPN,可是忘了什么时候安装的了,在应用管理也总是找不到,提示如下: 我就郁闷了,已经删除了为啥还提示啊。 解决方案 Mac有内置的p...
  • u011687186
  • u011687186
  • 2017年11月02日 16:34
  • 226

[转载]各种安装包打包发布工具(安装制作工具)评测

作为程序员,经常遇到需要打包自己劳动成果的时候,这也算是广大码工辛苦奔波之后的杀青之作,收尾之笔。因此,安装包制作的好坏也直接关系到整个工程项目的质量。这里HAWARKSTUDIO对几种常见的程序打包...
  • fishmai
  • fishmai
  • 2016年10月10日 22:03
  • 17891

Mac pkg打包

自己测试后发现,如果不需要签名,内部使用的mac app,用默认的打包方法却是也是很快捷的说(Disk Utility) 在mac上开发我们经常会需要进行打包(package)来生成安装文件,很自然...
  • avi9111
  • avi9111
  • 2016年09月08日 01:05
  • 3462

Windows软件安装包制作工具汇总

1 Windows Intaller 2 WinRAR 参考资料 [1]图解Windows Installer制作软件安装包 [2]用winrar制作EXE安装包...
  • Q1302182594
  • Q1302182594
  • 2016年06月09日 06:53
  • 5447

linux下的安装包制作软件

研究了几种安装包制作软件,记录如下。这几种都是可以在linux及多种unix平台上运行的、有图形界面的工具。    InstallAnyWhere IzPack InstallJamm...
  • ayang1986
  • ayang1986
  • 2017年08月17日 10:59
  • 186

MacOS 开发 — 程序打包生成pkg文件

pkg是MAC OSX 平台下的一种常见安装包格式。类似Window平台的安装包程序。pkg包的安装有一定的流程,引导用户如何安装。Packages是MAC端比较常用的pkg生成工具。这篇博客主要来讲...
  • HeroGuo_JP
  • HeroGuo_JP
  • 2017年09月21日 11:25
  • 733

教你如何制作程序安装包

刚入编程界的童鞋可能会有这个疑惑,我在网上下载的软件都是一个exe文件。双击它会出现安装界面同意使用协议、选择安装位置什么的。但是自己编译出来的文件虽然也是一个exe,但是一点击就运行了显得很不正规;...
  • u013718769
  • u013718769
  • 2017年11月23日 10:41
  • 1108

VS制作程序安装包

所谓程序安装包,可以简单理解为一种压缩包,即将你自己所写程序所需要的所有资源,如动态链接库dll、图标文件ico,甚至是调用的第三方可执行程序exe,打包并压缩。当用户运行该安装包时,再将相应的资源解...
  • fuyuehua22
  • fuyuehua22
  • 2014年07月29日 09:29
  • 1187
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:unix典型软件安装包pkg的制作
举报原因:
原因补充:

(最多只允许输入30个字)