软件包对象的安装位置与上图 pkg 目录中的位置相同。驱动程序模块(sst 和 sst.conf)安装在 /usr/kernel/drv 中,而头文件安装在 /usr/include/sys/scsi/targets 中。sst、sst.conf 和 sst_def.h 文件是绝对对象。测试程序 sstest.c 及其目录 SUNWsst 是可重定位对象;它们的安装位置由 BASEDIR 参数设置。
软件包的其余组件(所有控制文件)安装在开发计算机上软件包的顶层目录中,但 sed 类脚本除外。它根据所修改的文件命名为 devlink.tab 并安装到 etc,该目录包含实际的 devlink.tab 文件。
find usr SUNWsst -print | pkgproto > prototype |
上述命令的输出如下所示:
d none usr 0775 pms mts d none usr/include 0775 pms mts d none usr/include/sys 0775 pms mts d none usr/include/sys/scsi 0775 pms mts d none usr/include/sys/scsi/targets 0775 pms mts f none usr/include/sys/scsi/targets/sst_def.h 0444 pms mts d none usr/kernel 0775 pms mts d none usr/kernel/drv 0775 pms mts f none usr/kernel/drv/sst 0664 pms mts f none usr/kernel/drv/sst.conf 0444 pms mts d none SUNWsst 0775 pms mts f none SUNWsst/sstest.c 0664 pms mts |
此 prototype 文件并不是完整文件。要完成此文件,您需要进行以下修改:
插入控制文件(文件类型 i)条目,因为它们与其他软件包对象的格式不同。
删除目标系统上已存在的目录的条目。
更改每个条目的访问权限和拥有权。
在绝对软件包对象之前添加一个斜线。
以下是最终的 prototype 文件:
i pkginfo i postinstall i preremove i copyright e sed /etc/devlink.tab ? ? ? f none /usr/include/sys/scsi/targets/sst_def.h 0644 bin bin f none /usr/kernel/drv/sst 0755 root sys f none /usr/kernel/drv/sst.conf 0644 root sys d none SUNWsst 0775 root sys f none SUNWsst/sstest.c 0664 root sys |
sed 脚本条目中的问号表明不应更改安装计算机上现有文件的访问权限和拥有权。