应用程序包开发者指南

示例-传统绝对软件包

如果 SUNWstuf 软件包是绝对软件包,则不应该在 pkginfo 文件中定义 BASEDIR 参数,而 pkgmap 文件将如下所示。

pkgmap 文件

: 1 1758
1 d none /opt ? ? ?
1 d none /opt/SUNWstuf 0775 root bin
1 d none /opt/SUNWstuf/EZstuf 0775 root bin
1 f none /opt/SUNWstuf/EZstuf/dirdel 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/EZstuf/usrdel 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/EZstuf/filedel 0555 bin bin 40 773 751310229
1 d none /opt/SUNWstuf/HRDstuf 0775 root bin
1 f none /opt/SUNWstuf/HRDstuf/mksmart 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/HRDstuf/mktall 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/HRDstuf/mkcute 0555 bin bin 40 773 751310229
1 f none /opt/SUNWstuf/HRDstuf/mkeasy 0555 bin bin 40 773 751310229
1 i pkginfo 348 28411 760740163
1 i postinstall 323 26475 751309908
1 i postremove 402 33179 751309945
1 i preinstall 321 26254 751310019
1 i preremove 320 26114 751309865

在此示例中,如果管理员在安装期间指定了一个备用基目录,pkgadd 命令将忽略该目录。此软件包总是安装到目标系统的 /opt/SUNWstuf

pkgadd 命令的 -R 参数按预期方式工作。例如,


pkgadd -d . -R /export/opt/client3 SUNWstuf

将对象安装在 /export/opt/client3/opt/SUNWstuf 中;但这是此软件包最接近可重定位软件包之处。

请注意,在 pkgmap 文件中,对 /opt 目录使用了问号 (?)。这表明不应该更改现有属性。这并不意味着“使用缺省属性创建目录”,尽管在某些情况下可能发生这种情况。特定于新软件包的任何目录都必须明确指定所有属性。