制作可安装的软件包。
pkgmk [ -c ] [ -o ] [ -a Arch ] [ -b BaseDir ] [ -d Directory ] [ -f Prototype ] [ -l Limit ] [ -p PStamp ] [ -r RootPath ] [ -v Version ] [ Variable=Value ... ] [ PkgInst ]
pkgmk 制作一个被用作 pkgadd 命令的输入的可安装软件包。软件包是相关文件和可独立安装的可执行文件的集合。软件包的内容将是目录结构格式。
pkgmk 命令将软件包原型文件用作输入,并且创建 pkgmap 文件。每个原型文件条目的内容被复制到适当的输出位置。 关于内容的信息(校验和、文件大小和修改日期)被计算并被存储在 pkgmap 文件中,同时还有在原型文件中指定的属性信息。
mkdir -p /home/myuser/example/pkgmk/sbin cp /usr/sbin/lsps /home/myuser/example/pkgmk/sbin cp /usr/sbin/lsuser /home/myuser/example/pkgmk/sbin然后,创建 pkginfo 文件。在这个示例中, pkginfo 文件是 /home/myuser/example/pkgmk/pkginfo,它包含下列内容:
PKG="mypkgA" NAME="My Package A" ARCH="PPC" RELEASE="1.0" VERSION="2" CATEGORY="Application" PSTAMP="AIX 2001/02/05"然后,创建 Prototype 文件 /home/myuser/example/pkgmk/prototype,它包含下列内容:
!search /home/myuser/example/pkgmk/sbin i pkginfo=/home/myuser/example/pkgmk/pkginfo d example /example 1777 bin bin d example /example/pkgmk 1777 bin bin d example /example/pkgmk/sbin 1777 bin bin f example /example/pkgmk/sbin/lsps 555 bin bin f example /example/pkgmk/sbin/lsuser 555 bin bin然后,用上述的 Prototype 和 pkginfo 文件通过 pkgmk 命令创建软件包:
pkgmk -d /tmp -f /home/myuser/example/pkgmk/prototype产生如下的输出:
Building pkgmap from package prototype file ## Processing pkginfo file WARNING:parameter <CLASSES> set to "example" ## Attempting to volumize 5 entries in pkgmap Part 1 -- 218 blocks, 10 entries /tmp/mypkgA/pkgmap /tmp/mypkgA/pkginfo /tmp/mypkgA/root/example/pkgmk/sbin/lsps /tmp/mypkgA/root/example/pkgmk/sbin/lsuser ## Packaging complete新建的名为 mypkgA 的软件包现在存在于 /tmp/mypkgA 中。
0 | 脚本成功完成。 |
1 | 致命错误。在此点上安装进程终止。 |
99 | 内部错误。 |
/usr/sbin/pkgmk | 包含 pkgmk 命令. |
installp 命令、pkgadd 命令、pkgask 命令、pkgchk 命令、pkginfo 命令、pkgparam 命令、pkgproto 命令、pkgrm 命令、pkgtrans 命令、tar 命令。
pkginfo 文件格式。
要获取有关如何使用 installp 命令准备要安装的应用程序的信息,参见 关于安装的封装软件,它在 AIX 5L Version 5.2 General Programming Concepts: Writing and Debugging Programs 中。