この節では、アップグレード時にのみ発生する問題について説明します。
Solaris 7 - 8/99 オペレーティング環境にアップグレードする前に、必ずバグ ID: 4121281、4258815 に関する説明をお読みください。
DiskSuite を使用しているシステムを Solaris 7 にアップグレードする場合、DiskSuite をバージョン 4.2 にアップグレードする必要があります。DiskSuite 4.2 には、metadb 複製の削除および交換を自動的に行う metacvt というスクリプトが含まれています。このスクリプトを使用して、metadb 複製に格納されている SCSI ドライバ名を cmdk から sd に変更できます。
回避方法 : Solaris 7 オペレーティング環境へのアップグレード中にデータを損失しないようにするには、DiskSuite が動作している x86 システムのアップグレードを開始する前に、メタデバイス構成をテキストファイルに保存し、metadb 複製を削除してください。x86 システムのアップグレード後に、DiskSuite のコマンド行インタフェースを使用してメタデバイス構成を復元してください。
『Solstice DiskSuite 4.2 ご使用にあたって』には、metadb 構成の保存、metadb 複製の削除、x86 システムの Solaris 7 オペレーティング環境へのアップグレード、DiskSuite のバージョン 4.2 へのアップグレード、メタデバイス構成の復元について、それぞれの手順が記載されています。Solaris 7 オペレーティング環境には、これらの手順を自動化する Bourne シェルスクリプトが含まれています。
なお DiskSuite 4.2 は、Solaris Easy Access Server 2.0 CD から入手することができます。
ディスクレスクライアントを持つサーバーの 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% 多くの容量を見積もります。したがって、アップグレードできるシステムでも、パッケージの選択を解除したり、容量を増やしたりしないとアップグレードできない場合があります。
回避方法 : 手動でファイルシステムのディスク容量を再度割り当ててください。または、「ソフトウェアのカスタマイズ」メニューを選んで、不要なソフトウェアパッケージを削除してください。
サーバーをアップグレードしたときに、Solaris 7 - 8/99 Software CD の Patches ディレクトリにあるパッチがサーバー上のクライアント OS へ自動的には適用されません。
回避方法 : サーバーのアップグレードが完了した後に、Patches ディレクトリにあるパッチをサーバー上のクライアント OS に適用してください。
オペレーティング環境を 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 ソフトウェアのインストールサーバーまたはブートサーバーに、パッチ 108176-01 を必ず適用してください。
このパッチは、 http://access1.sun.com/ からダウンロードできます。パッチを access1.sun.com から入手できない場合は、ご購入先にお問い合わせください。
パッチをインストールサーバーまたはブートサーバーに適用するには、次のコマンドを実行します。
# patchadd -C path_to_image/Tools/Boot 108176-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 関連コマンドが見つからなくなります。
回避方法 : 以下の手順でシンボリックリンクを復元します。