如果一个软件包需要多个基目录,您可以使用参数化路径名建立这些目录。此方法已经相当流行,尽管它具有以下缺点。
具有参数化路径名的软件包的行为方式通常类似于绝对软件包,但 pkgadd 命令会像处理可重定位的软件包一样处理该软件包。必须定义 BASEDIR 参数(即使没有使用)。
管理员无法使用 System V 实用程序确定软件包的安装基本位置(pkginfo -r 命令不起作用)。
管理员无法使用既定的方法重定位软件包(它称为可重定位的软件包,但是其行为方式与绝对软件包相同)。
多体系结构或多版本的安装要求对每个目标基目录进行意外事件计划,这通常意味着使用多个复杂的类操作脚本。
尽管确定基目录的参数是在 pkginfo 文件中定义的,但可以被 request 脚本修改。这是此方法广受欢迎的主要原因之一。然而,此方法的缺点会长期存在,您应该在迫不得已的情况下才考虑使用此配置。
# pkginfo file PKG=SUNWstuf NAME=software stuff ARCH=sparc VERSION=1.0.0,REV=1.0.5 CATEGORY=application DESC=a set of utilities that do stuff BASEDIR=/ EZDIR=/usr/stuf/EZstuf HRDDIR=/opt/SUNWstuf/HRDstuf VENDOR=Sun Microsystems, Inc. HOTLINE=Please contact your local service provider EMAIL= MAXINST=1000 CLASSES=none PSTAMP=hubert980707141632 |
: 1 1758 1 d none $EZDIR 0775 root bin 1 f none $EZDIR/dirdel 0555 bin bin 40 773 751310229 1 f none $EZDIR/usrdel 0555 bin bin 40 773 751310229 1 f none $EZDIR/filedel 0555 bin bin 40 773 751310229 1 d none $HRDDIR 0775 root bin 1 f none $HRDDIR/mksmart 0555 bin bin 40 773 751310229 1 f none $HRDDIR/mktall 0555 bin bin 40 773 751310229 1 f none $HRDDIR/mkcute 0555 bin bin 40 773 751310229 1 f none $HRDDIR/mkeasy 0555 bin bin 40 773 751310229 1 d none /etc ? ? ? 1 d none /etc/rc2.d ? ? ? 1 f none /etc/rc2.d/S70dostuf 0744 root sys 450 223443 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 |