2007年 5月 30日 水曜日
Messages in cipher reflected in the looking glass
(JA) Diskless Solaris (x86編) その5:StarSuite 8 のインストール
第5回目は StarSuite 8 のインストールを行います。
Solaris 10 をインストールすると通常 StarSuite 7 がインストールされます。
ただ、ディスクレスクライアントは locale=C でセットアップが必要なため、
StarSuite 7 ではなく、 StarOffice 7 (アジア圏以外はStarOffice が正式名称です)
がインストールされてしまいます。
この StarOffice 7 ですが、日本語表示はできるのですが、
メニューの日本語化が行えません。
本来なら、StarOffice 7 を削除して、StarSuite 7 を入れるのでしょうが、
StarSuite 8 が既に出ているのでこちらをインストールすることにしました。
インストールには CD-ROM版を用います。
通常のPC環境の場合、CD-ROMにsetupコマンドがあるのでそれを用いることにより
GUI インストールが行えますが、インストール先をカスタマイズする必要があるため、
pkgadd を用いてインストールします。
下記のようにマニュアルにも解説があります。
docs.sun.com の StarOffice 8 Collection - Japanese >> StarSuite 8 管理ガイド >> 1. StarSuite のインストール
まず、インストール対象となるパッケージのインストール先を調べます。
調べるには各パッケージの pkginfo を確認します。
下記は日本語環境に必要なパッケージのみ抽出しています。
# /cdrom/office8_id2043/office/packages # grep BASEDIR */pkginfo SUNWstarsuite-agfafonts/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-base/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-calc/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-core01/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-core02/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-core03/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-core04/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-core05/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-core06/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-core07/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-core08/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-core09/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-desktop-int-root/pkginfo:BASEDIR=/ SUNWstarsuite-desktop-integratn/pkginfo:BASEDIR=/ SUNWstarsuite-draw/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-fonts/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-gallery/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-gnome-integration/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-graphicfilter/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-impress/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-ja-fonts/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-ja-help/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-ja-res/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-ja/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-javafilter/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-lngutils/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-math/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-ooofonts/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-shared-mime-info/pkginfo:BASEDIR=/usr SUNWstarsuite-writer/pkginfo:BASEDIR=/opt/starsuite8 SUNWstarsuite-xsltfilter/pkginfo:BASEDIR=/opt/starsuite8
さらに pkgmap ファイルを確認し、インストール先を調べます。
すると、下記のように、4つのグループに分類できます。
/usr にインストールされるパッケージが
Type A, Type B の2つのグループにわかれているのは
必要とする admin ファイルが異なるためです。
/opt/starsuite8 にインストールされるパッケージ SUNWstarsuite-agfafonts SUNWstarsuite-base SUNWstarsuite-calc SUNWstarsuite-core01 SUNWstarsuite-core02 SUNWstarsuite-core03 SUNWstarsuite-core04 SUNWstarsuite-core05 SUNWstarsuite-core06 SUNWstarsuite-core07 SUNWstarsuite-core08 SUNWstarsuite-core09 SUNWstarsuite-draw SUNWstarsuite-fonts SUNWstarsuite-gallery SUNWstarsuite-gnome-integration SUNWstarsuite-graphicfilter SUNWstarsuite-impress SUNWstarsuite-ja-fonts SUNWstarsuite-ja-help SUNWstarsuite-ja-res SUNWstarsuite-ja SUNWstarsuite-javafilter SUNWstarsuite-lngutils SUNWstarsuite-math SUNWstarsuite-ooofonts SUNWstarsuite-writer SUNWstarsuite-xsltfilter /usr にインストールされるパッケージ(Type A) SUNWstarsuite-shared-mime-info /usr にインストールされるパッケージ(Type B) SUNWstarsuite-desktop-integratn / (root) にインストールされるパッケージ SUNWstarsuite-desktop-int-root
それぞれの環境に対応した admin ファイルを作成します。
/ (root) および /opt 用
# cat >/tmp/admin_default <<EOF mail= instance=unique partial=nocheck runlevel=nocheck idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=default EOF
/usr にインストールされるパッケージ(Type A)用
# cat >/tmp/admin_usr_a <<EOF mail= instance=unique partial=nocheck runlevel=nocheck idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=/usr_i386.all/usr EOF
/usr にインストールされるパッケージ(Type B)用
# cat >/tmp/admin_usr_b <<EOF mail= instance=unique partial=nocheck runlevel=nocheck idepend=nocheck rdepend=nocheck space=nocheck setuid=nocheck conflict=nocheck action=nocheck basedir=/usr_i386.all EOF
/opt, /usr 以下にパッケージをインストールします。
# pkgadd -a /tmp/admin_default -R /export/Solaris_10 -d . \ SUNWstarsuite-agfafonts SUNWstarsuite-base SUNWstarsuite-calc \ SUNWstarsuite-core01 SUNWstarsuite-core02 SUNWstarsuite-core03 \ SUNWstarsuite-core04 SUNWstarsuite-core05 SUNWstarsuite-core06 \ SUNWstarsuite-core07 SUNWstarsuite-core08 SUNWstarsuite-core09 \ SUNWstarsuite-draw SUNWstarsuite-fonts SUNWstarsuite-gallery \ SUNWstarsuite-gnome-integration SUNWstarsuite-graphicfilter \ SUNWstarsuite-impress SUNWstarsuite-ja-fonts SUNWstarsuite-ja-help \ SUNWstarsuite-ja-res SUNWstarsuite-ja SUNWstarsuite-javafilter \ SUNWstarsuite-lngutils SUNWstarsuite-math SUNWstarsuite-ooofonts \ SUNWstarsuite-writer SUNWstarsuite-xsltfilter # pkgadd -a /tmp/admin_usr_a -R /export/Solaris_10 -d . SUNWstarsuite-shared-mime-info # pkgadd -a /tmp/admin_usr_b -R /export/Solaris_10 -d . SUNWstarsuite-desktop-integratn
続いて、/ (root) 領域にインストールします。必要に応じて clone 領域やクライアント全てに行ってください。
ここでは w1100z (/export/root/w1100z)にインストールします。
まず、SUNWstarsuite-desktop-int-root を /tmp にコピーします。
# cp -r SUNWstarsuite-desktop-int-root /tmp
/tmp/SUNWstarsuite-desktop-int-root/install/checkinstall を書き換えます。
というのも、checkinstall スクリプトは通常環境を想定しているため、
ディスクレス環境ではインストールできないためです。
変更内容は下記の通りです。全てのコマンドを無効にして、
OFFICE_PATHを強制的に設定します。
# Check if the core package has been installed
#COREPKG=`echo ${PKGINST} | sed 's/desktop-.*/core01/'`
#pkginfo ${PKG_INSTALL_ROOT:+'-R'} ${PKG_INSTALL_ROOT} -q ${COREPKG}
#if [ $? -ne 0 ]; then
# echo "The ${COREPKG} package could not be found. Please install the"
# echo "${COREPKG} package and try this installation again"
# exit 3 # Suspend
#fi
#OFFICE_PATH=`pkginfo ${PKG_INSTALL_ROOT:+'-R'} ${PKG_INSTALL_ROOT} -r ${COREPKG}`
#cat >$1 <<!
#OFFICE_PATH=${OFFICE_PATH}
#!
OFFICE_PATH=/opt/starsuite8
exit 0
/tmp/SUNWstarsuite-desktop-int-root/pkgmap を書き換えます。
pkgadd 実行時にファイルの整合性をチェックしています。
今回 checkinstall を変更したため、チェックサムに引っかかってしまうので、
変更し、pkgadd をだまします。^-^;
: 1 33 1 i checkinstall 522 40668 1122390176 1 i copyright 466 43035 1122390173 1 i depend 51 4532 1122390177 1 d none etc 0755 root sys 1 e build etc/mailcap 0644 root bin 3097 27993 1122390173 1 e build etc/mime.types 0644 root bin 1710 33433 1115994216 1 s none etc/starsuite8=../opt/starsuite8 1 i pkginfo 465 37950 1122390176 1 i postinstall 252 20473 1122390177 1 i space 0 0 1122390177
変更したのは checkinstall の 522 と 40668 の部分です。
変更すべき数値は pkgadd を実行して調べます。
# pkgadd -d . SUNWstarsuite-desktop-int-root
Processing package instance <SUNWstarsuite-desktop-int-root> from
Desktop integration for StarSuite 8 (root)(i386) 8.0.0,REV=106.2005.05.23
Copyright 2003 Sun Microsystems, Inc. All rights reserved. Use is subject
to license terms. Third-party software, including font technology, is
copyrighted and licensed from Sun suppliers. Sun, Sun Microsystems, the
Sun logo, Java, Solaris and StarSuite are trademarks or registered
trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
Federal Acquisitions: Commercial Software - Government Users Subject to
Standard License Terms and Conditions.
This appears to be an attempt to install the same architecture and
version of a package which is already installed. This installation
will attempt to overwrite this package.
## Executing checkinstall script.
Using </> as the package base directory.
## Processing package information.
## Processing system information.
2 package pathnames are already properly installed.
pkgadd: ERROR: packaging file </root/SUNWstarsuite-desktop-int-root/install/checkinstall> is corrupt
file size <482> expected <522> actual
file cksum <37893> expected <40668> actual
Installation of <SUNWstarsuite-desktop-int-root> failed (internal
error).
No changes were made to the system.
インストールします。
# pkgadd -a /tmp/admin_default -R /export/root/w1100z -d . SUNWstarsuite-desktop-int-root
インストール後、下記を実行してシンボリックリンクを修正します。
インストーラを利用した場合、正しい場所にリンクされるのですが、
ディスクレスクライアント環境では間違った場所にリンクされてしまいます。
# cd /export/root/w1100z/etc # rm starsuite8 # ln -sf ../opt/starsuite8 starsuite8
インストールが終了したら、最新版パッチを適用します。
PP5の場合は 120190-09 となります。
# patchadd -R /export/Solaris_10 120190-09 Validating patches... Loading patches installed on the system...
初期バージョンの StarSuite 8 をNFSサーバにインストールした場合、
そのまま実行すると
The application cannot be started
The component manager is not available
というエラーが出て、StarSuite 8 が起動できない場合があります。
これは、StarSuite 8 のバイナリが NFS v4 でマウントした
ディレクトリにある場合に発生するバグです。
このバグは Product Update 5 などでは解消しています。
ですので、可能であればアップデートしてください。
アップデートできない場合などは
対象ディレクトリを NFS v3 でマウントすることで回避できます。
NFS v3でマウントするには /etc/vfstab のエントリのオプション部分に明示的に vers=3 と記述します。
x4200m2:/export/Solaris_10/opt - /opt nfs - yes ro,vers=3
Posted at 05:17午後 5 30, 2007 by Yasuhiro Fujitsuki in Linux & Solaris |