Wird der Inhalt eines signierten Patches in dasselbe Verzeichnis wie der signierte Patch entpackt, so kann der entpackte Patch nicht mehr mit /usr/sbin/patchadd installiert werden. Stattdessen wird bei der Ausführung von /usr/sbin/patchadd ./Patch-ID der signierte Patch installiert. Der unsignierte entpackte Patch wird ignoriert.
Unter Umständen kann dabei auch folgende Fehlermeldung auftreten:
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. |
Abhilfemaßnahme: Wählen Sie eine der folgenden Problemlösungen:
Entpacken Sie den signierten Patch in ein anderes Verzeichnis als das, in dem der signierte Patch selber gespeichert ist. Übergeben Sie beim Ausführen von /usr/sbin/patchadd den Pfad des entpackten Patches.
Löschen Sie nach dem Entpacken des signierten Patches die .jar-Datei, bevor Sie /usr/sbin/patchadd ausführen.
Entpacken Sie den signierten Patch nicht. Nehmen Sie stattdessen die erforderlichen Einträge im Package-Keystore vor und installieren Sie den signierten Patch direkt. Führen Sie folgende Schritte durch:
Melden Sie sich als Superuser an.
Führen Sie folgende Befehle aus:
# /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 |
Ändern Sie dabei das Standardpasswort changeit auf das korrekte Passwort für den Java-Keystore.