署名付きパッチの内容が、署名付きパッチと同じディレクトリに抽出されている場合、抽出されたパッチは /usr/sbin/patchadd コマンドを使用してもインストールすることができません。その代わり、署名付きのパッチは、/usr/sbin/patchadd ./patchid を実行するとインストールできます。署名のない抽出されたパッチは無視されます。
場合によっては、次のエラーメッセージが表示されることがあります。
Verifying signed patch patchid... ERROR: Unable to open keystore /var/sadm/security/patchadd /truststore for reading ERROR: Unable to lock keystore /var/sadm/security for exclusive access Signature invalid on signed patch patchid. Patchadd is terminating. |
回避方法: 次のいずれかの回避方法を選択してください。
署名付きパッチの内容は、署名付きパッチのあるディレクトリとは別のディレクトリに抽出します。/usr/sbin/patchadd コマンドを実行するときに、パッチを抽出したディレクトリのパスを使用します。
署名付きパッチを抽出したのち、/usr/sbin/patchadd コマンドを実行する前に、.jar ファイルを削除します。
署名付きパッチを抽出しません。その代わり、パッケージのキーストアを生成し、署名付きパッチを直接インストールします。次の手順に従います。
スーパーユーザーになります。
次のコマンドを実行します。
# /usr/bin/mkdir /var/sadm/security |
# /usr/bin/keytool -export -storepass changeit -alias \ gtecybertrustca -keystore usr/java/jre/lib/security/cacerts -file \ /tmp/gte.crt |
# /usr/bin/pkgadm addcert -t -f der /tmp/gte.crt |
デフォルトのパスワード changeit を、Java キーストアを保護するために使用するパスワードに変更してください。