pkgmap 文件
用途
描述程序包内容描述文件的格式。
描述
| 字段 | 描述 |
|---|---|
| 部分 | 用于指定对象所在部件号的字段。 部件是文件的集合,是处理包所使用的原子单元。 开发者可以选择将文件分组到部件中的条件 (例如,基于类)。 如果未在此字段中定义任何值,那么将采用部件 1。 |
| ftype | 指示文件类型的单字符字段。 有效值是:
一旦文件具有文件类型属性 v,它将始终具有易失性。 例如,如果正在安装的文件已存在并且具有文件类型属性 v,那么即使未将正在安装的文件的版本指定为易失性,文件类型属性也会保持易失性。 |
| CLASS | 文件所属的安装类。 此名称必须仅包含字母数字字符,并且长度不得超过 12 个字符。 如果 ftype 为 i (信息文件) ,那么未指定此参数。 |
| pathname | 对象驻留在目标机器上的路径名,例如 /usr/bin/mail。 相对路径名 (不以斜杠开头的路径名) 指示文件可重新定位。 对于链接文件 (类型 为 L 或 S) ,路径名必须采用 路径 1=路径 2格式,其中 path1 指定链接的目标, path2 指定链接的源。 对于符号链接的文件,当 path2 是以 ./ 开头的相对路径名时 或 ../, path2 不视为可重定位。 例如,如果输入行,例如
path1 (/foo/bar/etc/mount) 是指向 ../usr/sbin/mount的符号链接。 pathname 可以包含支持文件重定位的变量。 可以在路径名结构中嵌入 "$"参数 。 $BASEDIR 可用于标识路径层次结构的父目录,使整个包易于重新定位。 参数 和 BASEDIR 的缺省值必须在 pkginfo 文件中提供,并且可以在安装时覆盖。 特殊字符,例如等号 ("="),包含在路径名中,将整个路径名括在单引号中 (例如, '/usr/lib/ ~ =')。 |
| 专业 | 主设备号。 仅对块或字符特殊设备指定该字段。 |
| 次要编号 | 次设备号。 仅对块或字符特殊设备指定该字段。 |
| 模式 | 文件的八进制方式 (例如, 0664)。 问号 ("?") 指示方式保持不变,这意味着文件已存在于目标机器上。 此字段不用于链接文件,打包信息文件或不可安装文件。 |
| 所有者 | 文件的所有者 (例如, bin 或 root)。 该字段的长度限制为 14 个字符。 问号 ("?") 指示所有者保持不变,这表示文件已存在于目标机器上。 此字段不用于链接文件或不可安装文件。 它可选择与包信息文件配合使用。 如果使用此参数,那么它将指示执行安装脚本的所有者。 所有者可以是 $[A-Z] 格式的变量规范,并在安装时解析。 |
| 组 | 文件所属的组 (例如, bin 或 sys)。 该字段的长度限制为 14 个字符。 问号 ("?") 指示该组保持不变,这意味着该文件已存在于目标机器上。 此字段不用于链接文件或不可安装文件。 它可选择与包信息文件配合使用。 如果已使用,那么它指示执行安装脚本的组。 可以是 $[A-Z] 格式的变量分配,并在安装时解析。 |
| 大小 | 文件的实际大小 (以字节计)。 未对命名管道,特殊设备,目录或链接文件指定此字段。 |
| cksum | 文件内容的校验和。 未对命名管道,特殊设备,目录或链接文件指定此字段。 |
| 模态时间 | 上次修改的时间。 未对命名管道,特殊设备,目录或链接文件指定此字段。 |
| 字段 | 描述 |
|---|---|
| mac | 强制访问控制 (MAC) 级别标识 (LID) ,这是一个整数值,用于指定分层分类与零个或多个非分层类别的组合。 问号 ("?") 指示 mac 字段将保持不变,这意味着该文件已存在于目标机器上。 此字段只能应用于 sfs 文件系统上的文件,而不能用于链接文件或打包信息文件。 注: 在此发行版中不支持强制访问控制; 此字段仅为与先前发行版兼容而存在。 如果必须指定此字段,那么应使用值 0 。
|
| 固定 | 为 filepriv命令定义的有效助记符固定特权名称的逗号分隔列表。 当不指定固定特权时,将使用字符串 NULL 来代替以逗号分隔的列表。 问号 ("?") 指示固定字段将保持不变,这意味着该文件已存在于目标机器上。 如果未提供固定属性,那么将使用无固定特权安装文件。 此字段不用于链接文件或打包信息文件。 注: 固定特权在当前发行版中无效。 仅为与先前发行版兼容而维护此功能。
|
| 已继承 | 为 filepriv 命令定义的有效助记符继承特权名称的逗号分隔列表。 当不指定特权时,将使用字符串 NULL 来代替以逗号分隔的列表。 问号 ("?") 指示继承的字段将保持不变,这意味着该文件已存在于目标机器上。 如果未提供继承的属性,那么将安装没有可继承特权的文件。 此字段不用于链接文件或打包信息文件。 注: 可继承特权在当前发行版中无效。 仅为与先前发行版兼容而维护此功能。
|
:number_of_parts maximum_part_size以 " #" 开头的行是注释行,将被忽略。
如果在安装期间在文件被覆盖之前保存这些文件,那么这些文件通常只是复制到临时路径名。 但是,对于其方式包含执行许可权 (但不可编辑) 的文件,现有版本将链接到临时路径名,并且将除去原始文件。 这允许覆盖安装期间正在执行的进程。
pkgmap 文件每个唯一路径名只能包含一个条目。
互斥目录类型 (file) 类型 x 指定限制为仅包含安装软件数据库 (/var/sadm/install/contents) 中显示的文件的目录。 如果目录中有其他文件,那么 pkgchk -fx 将除去这些文件,如 pkgchk 命令的手册页中所述。
owner 和 group 字段的变量规范在 pkginfo 文件中定义。 例如, owner 可以是 pkgmap 文件中的 $OWNER ; 如果 OWNER 在 pkginfo 文件中定义为 root ,那么 $OWNER 将在安装该文件时获取值 root 。
示例
:2 500
1 i pkginfo 237 1179 541296672
1 b class1 /dev/diskette 17 134 0644 root other
1 c class1 /dev/rdiskette 17 134 0644 root other
1 d none bin 0755 root bin
1 f none bin/INSTALL 0755 root bin 11103 17954 541295535
1 f none bin/REMOVE 0755 root bin 3214 50237 541295541
1 l none bin/UNINSTALL=bin/REMOVE
1 f none bin/cmda 0755 root bin 3580 60325 541295567 0 NULL
macread,macwrite
1 f none bin/cmdb 0755 root bin 49107 51255 541438368
1 f class1 bin/cmdc 0755 root bin 45599 26048 541295599
1 f class1 bin/cmdd 0755 root bin 4648 8473 541461238
1 f none bin/cmde 0755 root bin 40501 1264 541295622
1 f class2 bin/cmdf 0755 root bin 2345 35889 541295574
1 f none bin/cmdg 0755 root bin 41185 47653 541461242
2 d class2 data 0755 root bin
2 p class1 data/apipe 0755 root other
2 d none log 0755 root bin 0 NULL NULL
2 v none log/logfile 0755 root bin 41815 47563 541461333
2 d none save 0755 root bin
2 d none spool 0755 root bin
2 d none tmp 0755 root bin