この節では、アップグレード時にのみ発生する問題について説明します。
Solaris 7 - 8/99 オペレーティング環境にアップグレードする前に、必ずバグ ID: 4258815 に関する説明をお読みください。
ディスクレスクライアントを持つサーバーの Solaris オペレーティング環境をアップグレードするとき、/usr に対する dfstab 行のオプションが保存されません。たとえば、dfstab ファイルに次のように入力したとします。
share -F nfs -o rw /export/exec/Solaris_2.7_sparc.all/usr |
アップグレード時に、このエントリが自動的に次のように置換されてしまいます。
share -F nfs -o ro /export/exec/Solaris_2.7_sparc.all/usr |
回避方法 : ディスクレスクライアントまたは SolsticeTM AutoClientTM を持つ OS サーバーで Solaris オペレーティング環境をアップグレードする前に、各クライアントの /etc/dfs/dfstab ファイルのバックアップを取っておいてください。
複数の SPARC カーネルアーキテクチャのディスクレスクライアントを持つサーバー (たとえば、sun4c、sun4d、sun4m アーキテクチャのディスクレスクライアントを持つ sun4u サーバー) をアップグレードした後、サーバーとはカーネルアーキテクチャが異なるクライアントの SUNWkvm パッケージには、パッチを適用できません。
回避方法 : SUNWkvm に関連するパッチを適用する前に、手動ですべての SUNWkvm パッケージを追加してください。
# pkgadd -d SUNWkvm.* |
アップグレードプログラムは、Solaris ソフトウェアのシステムをアップグレードするために必要な容量よりも 30% 多くの容量を見積もります。したがって、アップグレードできるシステムでも、パッケージの選択を解除したり、容量を増やしたりしないとアップグレードできない場合があります。
回避方法 : 手動でファイルシステムのディスク容量を再度割り当ててください。または、「ソフトウェアのカスタマイズ」メニューを選んで、不要なソフトウェアパッケージを削除してください。
システムのリブート時に、Solstice AutoClient から次のようなメッセージが出力されます。
fsck -F cachefs: Cache directory /.cache/rootcache does not exist. mount -F cachefs: cache fsck mount failed fsck -F cachefs: Cache directory /.cache/rootcache does not exist. mount -F cachefs: cache fsck mount failed |
/ (ルート) ファイルシステムのファイルシステムの種類が cachefs であることが、カーネルに対して通知されています。この問題によって影響を受ける Solstice AutoClient があるかどうかを、システムのアップグレード前に調べるには、サーバー上の /export/root/<クライアント名>/var/sadm/pkg ディレクトリ (Solstice AutoClient 上の /var/sadm/pkg ディレクトリ) を確認してください。このディレクトリに TADcar というサブディレクトリがある場合は、上記の問題によって影響を受ける Solstice AutoClient があります。
回避方法 : アップグレード後に、Solstice AutoClient の /etc/system ファイル中に次の行を追加してください。
rootfs:cachefs |
Solstice AutoClient 上の /etc/system ファイルが、サーバー上に /export/root/<クライアント名>/etc/system として格納されます。
サーバーをアップグレードしたときに、Solaris 7 - 8/99 Software CD の Patches ディレクトリにあるパッチがサーバー上のクライアント OS へ自動的には適用されません。
回避方法 : サーバーのアップグレードが完了した後に、Patches ディレクトリにあるパッチをサーバー上のクライアント OS に適用してください。
sun4u のディスクレスクライアントまたは Solstice AutoClient を持つサーバーシステムのオペレーティング環境を Solaris 2.6 - 3/98 または Solaris 2.6 - 5/98 からアップグレードしても、パッケージ SUNWcvc.u および SUNWdrr.u がサーバー上のディスクレスクライアント OS または Solstice AutoClient OS にインストールされません。
回避方法 : アップグレード完了後に、パッケージ SUNWcvc.u および SUNWdrr.uを sun4u のディスクレスクライアント OS または Solstice AutoClient OS に追加してください。クライアントシステムの名前を foo として、手順を示します。
Solaris 7 - 8/99 Software CD (SPARC 版) をマウントします。
以下のディレクトリに移動します。
# cd /cdrom/cdrom0/s0/Solaris_2.7/Product |
pkgadd コマンドを使用してパッケージを追加します。
# pkgadd -R /export/root/foo -d `pwd` SUNWcvc.u # pkgadd -R /export/root/foo -d `pwd` SUNWdrr.u |
オペレーティング環境を Solaris 7- 3/99 または Solaris 7 - 5/99 から Solaris 7 - 8/99 へアップグレードすると、次に示すようなエラーメッセージがアップグレードログに記録されます。
Doing pkgadd of SUNWplow to /. pkgadd: ERROR: unable to create package object </a/usr/openwin/share/locale/de.ISO8859-15>. file type <s> expected <d> actual unable to remove existing directory at </a/usr/openwin/share/locale/de.ISO8859-15> .... Installation of <SUNWplow> partially failed. pkgadd return code = 2 Doing pkgadd of SUNWpldte to /. WARNING: /a/usr/dt/appconfig/types/de.ISO8859-15 may not overwrite a populated directory. ...... pkgadd: ERROR: /a/usr/dt/appconfig/types/de.ISO8859-15 could not be installed. ....... Installation of <SUNWpldte> partially failed. pkgadd return code = 2 |
アップグレードログに示されているディレクトリは、パッチによってシンボリックリンクからディレクトリに変更されます。この変更がアップグレード時にインストールしようとしたパッケージに含まれていないため、上記のエラーメッセージが出力されます。ただし、アップグレードしたシステムのオペレーティング環境に対して、このエラーによる影響はありません。
回避方法 : 問題は発生しないので、このエラーメッセージは無視してください。
ディスク容量の再配置 (/usr パーティションをサイズ変更または移動する) 機能を使用してアップグレードを実行すると、一部の日本語パッケージがシステムから削除されます。パッケージデータベースではそれらの日本語パッケージがインストールされていると示されますが、実際にはファイルシステム上にインストールされていません。
英語版だけがインストールされているシステムでは、この問題は発生しません。
回避方法: 次に示す方法があります。
ネットワーク上でインストールサーバーまたはブートサーバーを使用してアップグレードする場合
アップグレードを行う前に、Solaris 7 - 8/99 ソフトウェアのインストールサーバーまたはブートサーバーに、パッチ 108175-01 を必ず適用してください。
このパッチは、 http://access1.sun.com/ からダウンロードできます。パッチを access1.sun.com から入手できない場合は、ご購入先にお問い合わせください。
パッチをインストールサーバーまたはブートサーバーに適用するには、次のコマンドを実行します。
# patchadd -C path_to_image/Tools/Boot 108175-01 |
Solaris 7 - 8/99 Software CD を使用してアップグレードする場合
アップグレード前に手作業でファイルシステムのサイズを調整する:
システムをバックアップします。
format コマンドを使用して、インストールプログラムで示された数値に従って、ファイルシステムのサイズを調整します。
新しいファイルシステム上にシステムを復元します。
アップグレードを開始します。上記の手順でアップグレード前にファイルシステムを調整することによって、アップグレードに必要な容量が確保されているので、ディスク容量の再配置を行わないアップグレードが実行されます。
足りないパッケージをアップグレード後にインストールする:
足りないパッケージを特定します。
/var/sadm/system/admin/upgrade_script の do_pkgadd 行に記述されていないパッケージで、 /var/sadm/pkg ディレクトリにある pkginfo ファイル中の SUNW_LOC 行に、日本語ロケール (ja、ja_JP.PCK、ja_JP.UTF-8) が記述されているパッケージです。
以下のようなシェルスクリプトを記述すると、足りないパッケージの特定を自動的に行うことができます。
#!/bin/sh PATH=/usr/bin export PATH TMP_VAR=/tmp/list.var.$$ TMP_UPG=/tmp/list.upg.$$ trap "rm -f $TMP_VAR $TMP_UPG" 1 2 3 15 grep SUNW_LOC=ja /var/sadm/pkg/*/pkginfo ¥ | sed -e 's/¥/var¥/sadm¥/pkg¥///' -e 's/¥/pkginfo:.*//' ¥ | sort > $TMP_VAR awk '/do_pkgadd[^(]/ { print $3 }' /var/sadm/system/admin/upgrade_script ¥ | sort > $TMP_UPG comm -23 $TMP_VAR $TMP_UPG rm -f $TMP_VAR $TMP_UPG |
# /usr/bin/sh findpkg.sh > pkg_to_add |
/tmp/admin として admin ファイルを作成して、以下の内容を記述します。
instance=overwrite mail= setuid=nocheck action=nocheck conflict=nocheck |
admin ファイルの作成方法についての詳細は、admin(4) を参照してください。
足りないパッケージをインストールします。インストールする各パッケージに対して次のコマンドを実行します。
# pkgadd -a /tmp/admin -d /cdrom/cdrom0/Solaris_2.7/Product package_name |
上記のスクリプトを記述する例で pkg_to_add ファイルを作成している場合は、次のコマンドを実行します。
# pkgadd -a /tmp/admin -d /cdrom/cdrom0/Solaris_2.7/Product `cat pkg_to_add` |
Solaris 7 - 8/99 ソフトウェアが CD-ROM 以外の場所にマウントされている場合は、-d オプションの引数として、Solaris_2.7/Product ディレクトリへの絶対パスを指定してください。
Solaris 7 オペレーティング環境から、ディスク容量の再配置機能を使用してアップグレードを実行すると、シンボリックリンクがなくなるために Java 関連コマンドが見つからなくなります。
回避方法 : 以下の手順でシンボリックリンクを復元します。