ここでは、Solaris 10 OS のシステム管理に関するバグ情報について説明します。
Solaris Management Console (SMC) や tninfo などの Solaris Trusted Extensions の管理ツールで、ADMIN_LOW ラベルや ADMIN_HIGH ラベルが表示されない場合があります。代わりに、PUBLIC や CNF : RESTRICTED などのラベルが間違って表示されることがあります。
このような不正なラベル表示は、誤ったシステム設定につながる可能性があります。たとえば、SMC では、ゾーンの実際のデフォルトラベルが ADMIN_LOW の場合に、誤って PUBLIC が表示されることがあります。不正なラベル表示が原因で、ゾーンはブートに失敗します。
このエラーは、デフォルトのラベル表示が INTERNAL となるべきときに EXTERNAL になるために発生します。このため、ADMIN_LOW が最小ユーザーラベルに昇格され、ADMIN_HIGH が降格されます。その結果、管理ツールは、ADMIN_LOW および ADMIN_HIGH を正しく表示せずに、定義されている最下位および最上位のラベルを誤って表示します。
回避方法: 次の手順を実行します。
Solaris Trusted Extensions をインストールします。ただし、システムはリブートしないでください。
label encodings ファイルを編集します。デフォルトの label_encodings ファイルは /etc/security/tsol/label_encodings です。LOCAL DEFINITIONS セクションに次の行を追加します。
Default Label View is Internal; |
x86 システムで Solaris Trusted Extensions のアンインストールが失敗します。システムのリブート時に、次のエラーメッセージが表示されます。
NOTICE: template type for bge0 incorrectly configured Change to CIPSO type for 129.146.108.249 ifconfig: setifflags: SIOCSLIFFLAGS: bge0: Invalid argument NOTICE: bge0 failed: Cannot insert CIPSO template for local addr 129.146.108.249 ip_arp_done: init failed |
その後、システムがハングアップします。
回避方法: 次の手順を実行します。
Solaris Trusted Extensions をアンインストールします。ただし、システムはリブートしないでください。
次のコマンドを実行します。
# touch /etc/system # bootadm update-archive |
システムをリブートします。
ゾーンに対応していない Solaris リリースを実行しているシステムでは、非大域ゾーンがインストールされている大域ゾーンの代替ルートパスを指定するために、patchadd -R などの -R オプションを受け入れるコマンドを使用しても正常に機能しません。
luupgrade [-t、-T、-p、-P] コマンドを使用した場合に表示されるエラーメッセージとは異なり、この場合は、コマンドレベルでの適切な制限の使用に関するエラーメッセージは表示されません。
-R オプションが機能しなかったことを示すものは何もありません。このコマンドが失敗した結果として、インストールされているどの非大域ゾーンにも Solaris 10 のパッケージやパッチはインストールされません。
この問題は、パッケージやパッチをインストールまたはアンインストールするときに発生します。
代替ブート環境に非大域ゾーンが構成されていても、非大域ゾーンがインストール済みでない場合には、-R オプションが機能します。ただし、潜在的な問題を回避するには、あるいは、代替ルートパスとして使用される非大域ゾーンがインストールされているかどうかわからない場合は、常に -R オプションの使用を制限してください。
詳細は、次のマニュアルページを参照してください。
patchadd(1M)
patchrm(1M)
pkgadd(1M)
pkgrm(1M)
回避方法 1: OS を Solaris 10 1/06 リリース以上にアップグレードします。
Solaris 10 3/05 リリースを実行している場合は、次のパッチをインストールして、代替ルートパスを作成するための -R オプションを受け入れるコマンドを使用可能にします。
SPARC ベースのシステムの場合は、パッチ ID 119254-19。
x86 ベースのシステムの場合は、パッチ ID 119255-19。
回避方法 2: patchadd -R コマンドなど、代替ルートパスを作成するための -R オプションを受け入れるすべてのコマンドの使用を制限します。
代わりに、代替ルート (Solaris 10 リリースなど) をアクティブ OS としてブートします。その後、-R オプションは使用せずに、Solaris 10 のパッケージとパッチのインストールやアンインストールを行います。
cfgadm コマンドで表示される ApId が正しくない場合や、cfgadm_pci(1M) のマニュアルページで指定されている形式に一致していない場合があります。この不一致は、次の状況で発生します。
Solaris 10 11/06 リリースにアップグレードする場合
物理的に同じ場所で、PCI または PCI Express (PCIe) の接続点のハードウェアを交換する場合。たとえば、同じ場所で拡張シャーシを交換する場合。
固有のエラーメッセージは表示されません。ただし、cfgadm コマンドで次のいずれかが表示される場合があります。
正しく機能する可能性のある、不正な形式の ApId
正しく機能しない可能性のある、正しい形式の ApId
ApId が正しく機能しない場合は、対応するエラーメッセージが cfgadm コマンドで表示されます。
回避方法: /dev/cfg ディレクトリにあるすべての PCI リンクと PCIe リンクを削除してから、コマンド devfsadm -C を実行します。PCI リンクと PCIe リンクは、次のコマンドで ApId として表示されます。
cfgadm -s "select=class(pci)" |
smosservice または smdiskless コマンドは、JDKTM 1.5 リリースに依存しているため、機能しない場合があります。
次のエラーメッセージが表示されます。
/usr/sadm/bin/smosservice list -u <user> -p <password> Exception in thread "main" java.lang.UnsupportedClassVersionError: com/sun/management/viperimpl/console/BaseConsoleOptionsManager (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) at java.net.URLClassLoader.access$100(URLClassLoader.java:55) at java.net.URLClassLoader$1.run(URLClassLoader.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) |
回避方法:
JDK 1.5 インストールを指定するように JAVA_HOME 変数を設定します。
# JAVA_HOME=/usr/java |
Sun Patch Manager Tool 2.0 が動作するシステムでは、Sun Patch Manager Tool 1.0 などのパッチマネージャーツールが動作するリモートシステムを管理できます。
ただし、旧バージョンのパッチマネージャーツールが動作するシステムで、Patch Manager Tool 2.0 が動作するリモートシステムを管理することはできません。旧バージョンは次のとおりです。
Sun Patch Manager Base Software 1.x
Sun Patch Manager Tool 1.0
Solaris 8 OS にはパッチマネージャーツール用の CIM/WBEM (Common Information Model/Web Based Enterprise Management) サポートがありません。したがって、Solaris 8 システムではパッチマネージャーによるリモート管理が行えません。
Sun Remote Services (SRS) Net Connect は、大域ゾーンでしかサポートされていません。次のいずれかの操作を行うと、エラーメッセージが表示されます。
SRS Net Connect を局所ゾーンにインストールする
局所ゾーンが作成されるときに SRS Net Connect を大域ゾーンにインストールする
エラーメッセージの内容は次のとおりです。
*** package SUNWcstu failed to install - interactive administration required: Interactive request script supplied by package pkgadd: ERROR: request script did not complete successfully Installation of SUNWcstu was suspended (interaction required). No changes were made to the system. *** package SUNWfrunc failed to install - interactive administration required: Interactive request script supplied by package pkgadd: ERROR: request script did not complete successfully Installation of SUNWfrunc was suspended (interaction required). No changes were made to the system. |
回避方法: このエラーメッセージは無視してください。
パッケージのインストール中、zoneadm コマンドを使用して非大域ゾーンをインストールしているときにエラーまたは警告メッセージが表示されることがあります。次のようなメッセージが表示されます。
Preparing to install zone zone1. Creating list of files to copy from the global zone. Copying 2348 files to the zone. Initializing zone product registry. Determining zone package initialization order. Preparing to initialize 790 packages on the zone. Initialized 790 packages on zone. Zone zone1 is initialized. Installation of the following packages generated errors: SUNWjhrt SUNWmcc SUNWjhdev SUNWnsb SUNWmcon SUNWmpatchmgr Installation of the following packages generated warnings: SUNWj3rt SUNWmc SUNWwbmc SUNWmga SUNWdclnt SUNWlvma SUNWlvmg SUNWrmui SUNWdoc SUNWpl5m SUNWpmgr |
パッケージのインストールに関する問題は、ゾーンのインストールのログが含まれている /export/zone1/root/var/sadm/system/logs/install_log にも記録されます。
回避方法: ありません。
非大域ゾーンは、これらのメッセージが通知されても使用できます。以前の Solaris Express と Solaris 10 ベータリリースにはパッケージのインストールに関する問題がありますが、これらの問題に関する通知は生成されませんでした。この Solaris リリースからは、これらのエラーが正しく報告され、記録されるようになりました。
動的再構成 (DR) の実行中に、エラーメッセージが表示されることがあります。DR パスに含まれるデバイスで入出力処理がアクティブな状態のときに、DR を実行すると、メッセージが表示されます。メッセージが表示されたあとに、入出力処理が再試行され、最終的には成功します。表示されるメッセージの例を次に示します。
Jul 28 12:23:19 qame10-a scsi: [ID 107833 kern.warning] WARNING: /ssm@0,0/pci@19,700000/SUNW,qlc@2,1/fp@0,0/ssd@w2100000c5056fa13,0 (ssd6): Jul 28 12:23:19 qame10-a transport rejected fatal error Jul 28 12:22:08 qame10-a scsi: [ID 107833 kern.warning] WARNING: /ssm@0,0/pci@19,700000/SUNW,qlc@2,1/fp@0,0/ssd@w2100000c5056f9a7,0 (ssd36): Jul 28 12:22:08 qame10-a SCSI transport failed: reason 'timeout': retrying command |
回避方法: ありません。このエラーメッセージは無視してください。
patchadd コマンドと patchrm コマンドは、ファイルシステムを継承した非大域ゾーンでは適切に動作しません。この結果、次の状況のときにこれらのゾーンで pkgchk コマンドを実行すると、パッケージに関するエラーメッセージが生成されることがあります。
大域ゾーンで patchadd コマンドを使用して、Solaris 10 ゾーンシステムにパッチを適用します。
patchrm コマンドを使用して、適用したパッチを削除します。
ファイルシステムを継承した非大域ゾーンで、削除したパッチに含まれるパッケージに関する情報について pkgchk コマンドを使って確認します。
上記の状況のときに、SUNWcsu に対して pkgchk コマンドを使用すると、次のようなメッセージが表示されます。
# pkgchk SUNWcsu ERROR: /usr/lib/inet/certdb modtime <04/26/05 10:55:26 PM> expected <01/23/05 01:48:24 AM> actual file size <36012> expected <42152> actual file cksum <37098> expected <19747> actual ERROR: /usr/lib/inet/certlocal modtime <04/26/05 10:55:26 PM> expected <01/23/05 01:48:24 AM> actual file size <44348> expected <84636> actual |
回避方法: ありません。このエラーが発生しても問題はありません。このエラーメッセージは無視してください。
Solaris 10 3/05 HW1 リリースを使用するシステムは IPsec に関する問題を引き起こす可能性があります。この問題は、新規にインストールしたシステム、つまりブート時に新しい SMF (Service Management Facility) マニフェストを多数インポートするシステムで発生することがあります。このようなブートを実行したあとに、svc:/system/cryptosvc:default に含まれる暗号化フレームワークが初期化される前に、svc:/network/initial:default に含まれる IPsec が初期化されることがあります。認証アルゴリズムまたは暗号化アルゴリズムが使用できないため、IPsec セキュリティーアソシエーションの作成に失敗して、次のようなエラーメッセージが表示されることがあります。
PF_KEY error: type=ADD, errno=22: Invalid argument, diagnostic code=40: Unsupported authentication algorithm |
このエラーは、IPsec サービスを必要とする Sun Fire E25K システムで DR を使用する場合などに発生することがあります。
回避方法: IPsec サービスを使用する処理を実行する前に、新しい SMF マニフェストを多数インポートするブートを実行してから次の手順を実行します。
ブート後に、次のコマンドを実行します。
ipsecalgs -s |
システムに /etc/inet/secret/ipseckeys が存在する場合は、次のコマンドも実行します。
ipseckey -f /etc/inet/secret/ipseckeys |
これで、Sun Fire E25K システム上で DR を使用するなど、IPsec セキュリティーアソシエーションを作成する処理を実行できる状態になります。
この手順を実行する必要があるのは、ブート時に新しい SMF マニフェストが多数インポートされる場合だけです。
ゾーン内で Solaris Product Registry の管理ユーティリティーを起動しようとすると、失敗します。ゾーンのインストール時に、Solaris Product Registry のデータベース productregistry がゾーン内に複製されなかったため、管理ユーティリティーをゾーン内で実行できません。
回避方法: スーパーユーザーとして、productregistry データベースをゾーンにコピーしてください。
# cp /var/sadm/install/productregistry zone_path/var/sadm/install/ |
上記のコマンドで、zone_path は作成したゾーンのルートディレクトリへのパスです。
smdiskless コマンドを使用してディスクレスクライアントを削除すると、コマンドは失敗します。ディスクレスクライアントは、システムデータベースから削除されません。次のエラーメッセージが表示されます。
Failing with error EXM_BMS. |
回避方法: クライアントを追加する前に、/export パーティションの共有を解除してください。
Net Connect 3.1.1 のインストールが失敗するのは、Solaris 10 の完全インストールの初期にその製品を選択した場合です。このエラーは、Solaris 10 Operating System DVD を使用してインストールを行なっているときに発生します。OS のインストールが完了した時点で、次のエラーメッセージが /var/sadm/install/logs/ の Net Connect インストールログに記録されます。
Installation of SUNWSRSPX failed. Error: pkgadd failed for SUNWsrspx Install complete. Package: SUNWsrspx |
回避方法: OS のインストールが完了したら、次の手順を実行してください。
Solaris 10 Operating System DVD または Solaris 10 SOFTWARE - CD 4 を挿入します。
Net Connect 製品のディレクトリに移動します。
Net Connect インストーラを実行します。
最新バージョンの Sun Net Connect ソフトウェアおよびリリースノートをダウンロードするには、https://srsnetconnect.sun.com の Sun Net Connect ポータルにアクセスしてください。
smosservice delete コマンドを使用してディスクレスクライアントサービスを削除した場合、すべてのサービスディレクトリが正常に削除されるとは限りません。
回避方法: 次の手順を実行します。
そのサービスを使用するクライアントが存在しないことを確認します。
# unshare /export/exec/Solaris_10_sparc.all # rm -rf /export/exec/Solaris_10_sparc.all # rm -rf /export/exec/.copyofSolaris_10_sparc.all # rm -rf /export/.copyofSolaris_10 # rm -rf /export/Solaris_10 # rm -rf /export/share # rm -rf /export/root/templates/Solaris_10 # rm -rf /export/root/clone/Solaris_10 # rm -rf /tftpboot/inetboot.sun4u.Solaris_10 |
次のエントリを /etc/bootparams ファイルから削除します。
fs1-24 boottype=:os |
このエントリを削除するのは、このファイルサーバーが関数や資源をほかのサービスに提供していない場合に限られます。
次のエントリを /etc/dfs/dfstab ファイルから削除します。
share -F nfs -o ro /export/exec/Solaris_8_sparc.all/usr |
/var/sadm/system/admin/services/Solaris_10 ファイルを変更します。
ファイルサーバーが Solaris_10 でない場合は、そのファイルを削除します。
ファイルサーバーが Solaris_10 である場合は、冒頭の 3 行を残し、あとのエントリをすべて削除します。削除した行は、/export/root/templates/Solaris_10 に含まれるサービス USR_PATH および SPOOLED ROOT のパッケージとサポートされるプラットフォームを示します。
patchadd コマンドを使用してほかのシステムから NFS を介してパッチをインストールしようとすると、コマンドは失敗します。次の例は、失敗した patchadd 操作と表示されるエラーメッセージを示しています。
Validating patches... Loading patches installed on the system... [...] Loading patches requested to install. [...] Checking patches that you specified for installation. [...] Approved patches will be installed in this order: [...] Checking local zones... [...] Summary for zones: [...] Patches that passed the dependency check: [...] Patching global zone Adding patches... Checking installed patches... Verifying sufficient filesystem capacity (dry run method)... Installing patch packages... Patch Patch_ID has been successfully installed. See /var/sadm/patch/Patch_ID/log for details Patch packages installed: SUNWroute [...] Adding patches... The patch directory /dev/.SUNW_patches_0111105334-1230284-00004de14dcb29c7 cannot be found on this system. [...] Patchadd is terminating. |
回避方法: まず、インストールするすべてのパッチを NFS サーバーからローカルシステムに手動でコピーします。次に、patchadd コマンドを使用して、パッチをコピーしたローカルシステムのディレクトリからパッチをインストールします。
lucreate コマンドを使用して、/dev/md ディレクトリにデバイスエントリが含まれていない RAID-1 ボリューム (ミラー) を作成しようとすると、コマンドが失敗します。最初に Solaris ボリュームマネージャーでミラーを作成しないかぎり、lucreate コマンドでファイルシステムをミラー化することはできません。
回避方法: まず Solaris ボリュームマネージャーでミラー化されたファイルシステムを作成し、次に lucreate コマンドで新しいブート環境を作成してください。
lucreate コマンドの詳細については、lucreate(1M) または 『Solaris 10 11/06 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』を参照してください。
Solaris ボリュームマネージャーによるミラー化されたファイルシステムの作成方法については、『Solaris ボリュームマネージャの管理』を参照してください。
Stop-A キーや L1-A キーなどのキーボードシーケンスを使用してシステムを停止しようとすると、システムがパニックすることがあります。次のようなエラーメッセージが表示されます。
panic[cpu2]/thread=2a100337d40: pcisch2 (pci@9,700000): consistent dma sync timeout |
回避方法: OpenBoot PROM に入るときには、キーボードシーケンスを使用しないでください。
ipfs コマンドは、ネットワークアドレス変換 (NAT) の状態とパケットフィルタリングの状態テーブルに関する情報を保存および復元します。このユーティリティーは、システムがリブートした場合にネットワーク接続が中断されるのを防ぎます。-W オプションを指定して ipfs コマンドを実行すると、カーネル状態テーブルの保存に失敗します。次のエラーメッセージが表示されます。
state:SIOCSTGET: Bad address |
回避方法: ありません。
snmpd.conf の内容を変更したあとは、コマンド kill -HUP snmp Process ID を実行できます。このコマンドによって snmp プロセスが停止します。その後、システム管理エージェントのマスターエージェント(snmpd) に信号が送信されて snmpd.conf が再度読み取られ、導入した変更が実装されます。このコマンドによって必ずしもマスターエージェントが構成ファイルを再度読み取るとは限りません。その結果、このコマンドを使用しても、必ずしも構成ファイル内の変更が有効になるとは限りません。
回避方法: kill -HUP を使用する代わりに、変更を snmpd.conf に追加したあとでシステム管理エージェントを再起動してください。次の手順を実行します。
スーパーユーザーになります。
次のコマンドを入力します。
# /etc/init.d/init.sma restart
これは、Solaris 10 OS (x86 版) がインストールされた、サービスパーティションを保持する Sun LX50 のブート時に発生します。F4 ファンクションキーを押すことでサービスパーティションのブートを選択できますが、オプションを選択すると画面が空白になります。その後、システムはサービスパーティションのブートに失敗します。
回避方法: BIOS ブート画面の表示時に、F4 キーを押さないでください。タイムアウト後に「Current Disk Partition Information」画面が表示されます。type=DIAGNOSTIC に対応する「Part#」列の番号を選択します。続いて Return キーを押します。サービスパーティションがブートします。
Solaris WBEM Services 2.5 デーモンは、com.sun.wbem.provider インタフェースまたは com.sun.wbem.provider20 インタフェースに書き込まれたプロバイダを検出できません。これらのインタフェースに書き込まれたプロバイダ用に Solaris_ProviderPath インスタンスを作成した場合でも、Solaris WBEM Services 2.5 デーモンはプロバイダを検出しません。
回避方法: デーモンがこのようなプロバイダを検出できるようにするには、Solaris WBEM Services 2.5 デーモンをいったん停止してから再起動します。
# /etc/init.d/init.wbem stop # /etc/init.d/init.wbem start |
javax
API を使用してプロバイダを作成した場合は、Solaris WBEM Services 2.5 デーモンを停止してから再起動する必要はありません。Solaris WBEM Services 2.5 デーモンが javax
プロバイダを動的に認識します。
javax
アプリケーションプログラミングインタフェースではなく、com.sun アプリケーションプログラミングインタフェースを使用して WBEM ソフトウェアを開発する場合、全面的にサポートされるのは Common Information Model (CIM) リモートメソッド呼び出し (RMI) だけです。XML/HTTP など、ほかのプロトコルについては、com.sun アプリケーションプログラミングインタフェースで完全に機能するという保証はありません。
次の表に、RMI では正常に実行され、XML/HTTP では失敗する呼び出しの例を示します。
メソッド呼び出し |
エラーメッセージ |
---|---|
CIMClient.close() |
NullPointerException |
CIMClient.execQuery() |
CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED |
CIMClient.getInstance() |
CIM_ERR_FAILED |
CIMClient.invokeMethod() |
XMLERROR: ClassCastException |
Solaris Management Console のマウントと共有ツールでは、ルート (/)、/usr、/var などのシステムに必須なファイルシステム上のマウントオプションを変更できません。
回避方法: 次のいずれかを選択してください。
mount コマンドとともに remount オプションを使用します。
# mount -F file-system-type -o remount, additional-mount-options \ device-to-mount mount-point |
-remount オプションを指定した mount コマンドで行われるマウント属性の変更は、一時的なものです。また、上記のコマンドの additional-mount-options の部分で指定しなかったマウントオプションのすべてがシステムによって指定されたデフォルト値を継承するわけではありません。詳細は、mount_ufs(1M) のマニュアルページを参照してください。
/etc/vfstab ファイル内の適切なエントリを編集することによって、ファイルシステムのマウント属性を変更し、システムをリブートします。