パッケージに複数のベースディレクトリが必要な場合、パラメータ型パス名を使用して複数のベースディレクトリを確立できます。この方法は一般的になりましたが、次の欠点があります。
パラメータ型パス名を使用するパッケージは通常は絶対パッケージのように機能しますが、pkgadd コマンドでは再配置可能パッケージのように扱われます。BASEDIR パラメータは、使用しない場合でも定義する必要があります。
管理者は、System V ユーティリティーを使用してパッケージのインストールベースを確認することができません。pkginfo -r コマンドは機能しません。
管理者は、確立された方法を使用してパッケージを再配置することができません。これは再配置可能パッケージと呼ばれますが、絶対パッケージとして動作します。
複数のアーキテクチャーまたは複数のバージョンのインストールでは、ターゲットベースディレクトリごとに不測事態対応計画を作成する必要があります。これは、しばしば複数の複雑なクラスアクションスクリプトを指します。
ベースディレクトリを決定するパラメータは pkginfo ファイルで定義されますが、request スクリプトで変更できます。このことが、このアプローチが一般的である主な理由の 1 つです。ただし、欠点は長期にわたるものであるため、この構成は最後の手段として検討するようにしてください。
# 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 |