Solaris 11.3 x86システムを更新しようとしています。システムには、Sun Developer StudioやSun SSHサーバーなど、Sun/Oracleソフトウェアが搭載されています。他のソフトウェアはなく、/usr/local
には何もありません。
私はこのエラーをキャッチしています:
$ Sudo pkg update
Creating Plan (Package planning: 1/10): -
pkg update: Chain was rooted in an untrusted self-signed certificate.
The package involved is pkg://solaris/consolidation/ddt/[email protected],0.5.11-11.4.0.0.1.11.0:20180718T212443Z
Image Packaging Systemを使用したソフトウェアのパッケージ化と配信|信頼されていない自己署名証明書 によると、ドキュメントは、自己署名OpenSSL証明書を使用しているためであると述べています。別の同様のページは 署名されたパッケージのトラブルシューティング ですが、前のページを改造し、新しいものは何も追加していません。パッケージの更新に関するOracleのドキュメントは パッケージの更新 にありますが、必要な情報が提供されていないようです。
Sunの記事には、問題を解決するための段階的な説明がありません。 SolarisにSunの証明書を信頼させようとしていますが、使用法のエラーを超えることはできません。
$ Sudo pkg set-publisher --approve-ca-cert solaris/consolidation/ddt/ddt-incorporation
pkg set-publisher: requires a publisher name
Usage:
pkg set-publisher [-Ped] [-k ssl_key] [-c ssl_cert]
[-g Origin_to_add|--add-Origin=origin_to_add ...]
[-G Origin_to_remove|--remove-Origin=origin_to_remove ...]
....
そして:
$ Sudo pkg set-publisher --approve-ca-cert solaris/consolidation/ddt/ddt-incorporation Sun
pkg set-publisher: Could not find /export/home/jwalton/solaris/consolidation/ddt/ddt-incorporation
pkg://
を前に付けてフルネームを使用するなど、他の組み合わせを試しましたが、問題は解決しません。
このエラーを回避するにはどうすればよいですか?
自己署名されていませんが、Solaris 11.3が認証局によって署名されていませんGAバージョンが知っています。新しい認証局のサポートは、最初にSolarisに更新する必要がある理由の1つです アップグレード手順 で説明されているように、Solaris 11.4にアップグレードする前の11.3 SRU 23以降。
私はあなたが何をしようとしているのかを正確に知っていると思いますが、次のステップでも失敗します。
pkg(1)は、証明書チェーンのコピーを/ var/pkg/publisher /(発行者名)/ certsに隠しているので、署名とルート証明書は/ var/pkg/publisher/solaris/certsにあります。ルート証明書を/ etc/certs/CA /のCA証明書ディレクトリにコピーすると、pkg(1)は証明書チェーンを信頼します。
私の場合、それは簡単です
cp /var/pkg/publisher/solaris/certs/370b6b4fba7b0ad472465ffe9377f8f6040b2cfd /etc/certs/CA/temp-solaris-object-signing.pem
svcadm restart system/ca-certificates
次のハードルは、pkg://solaris/system/[email protected],5.11-11.4.0.0.1.15.0がpkg:/system/[email protected]にOriginのルートイメージの依存関係を持っていることです。 .11-0.175.3.23.0.4.0(pkgの依存関係の詳細については、 https://docs.Oracle.com/cd/E53394_01/html/E54820/dependtypes.html#PKDEVglumq を参照してください)。そこにはおそらく非常に正当な理由があります...
編集:おそらくあなたがしようとしている残りのことは...
その巨大な赤旗を無視することを選択し、Solaris 11.3システムがサポートされなくなることを気にしない場合(おそらく11.3SRU23をダウンロードするためのサポート契約がないため)、次のようなことができます。
pkgrecv -s /path/to/solaris11_4 -d /var/tmp/sol114 --raw pkg://solaris/system/[email protected],5.11-11.4.0.0.1.15.0:20180817T002753Z
vi /var/tmp/sol114/system%2Fcore-os/11.4%2C5.11-11.4.0.0.1.15.0%3A20180817T002753Z/manifest*
依存関係を削除します。
depend fmri=pkg:/system/[email protected] root-image=true type=Origin
ローカルリポジトリに発行し直します。
pkgsend publish -s /path/to/solaris11_4 -d /var/tmp/sol114/system%2Fcore-os/11.4%2C5.11-11.4.0.0.1.15.0%3A20180817T0023Z/ /var/tmp/sol114/system%2Fcore-os/11.4%2C5.11-11.4.0.0.1.15.0%3A20180817T002753Z/manifest
pkgrepo -s /path/to/solaris11_4 rebuild
次に、アップグレードを実行します。
アップグレード中に/ var/tmpの新しいZFSデータセットが作成されるように見えるため、アップグレード前に/ var/tmpが完全に空であることを確認する必要があります。そうでない場合、いくつかの修正可能なエラーで正常に動作するようです。 YMMV、私はこれを古いT4-2 SPARCシステム(x86ではない)でテストしました。そのため、GRUBアップグレードに他の癖があるかどうかわかりません。等.
Pkgアップデートの問題を解決するには:「関係するパッケージ」の正確なバージョンを指定します。
# pkg update --reject pkg://solaris/consolidation/ddt/[email protected],0.5.11-11.4.0.0.1.11.0:20180718T212443Z [email protected]
または単に拒否する:
# pkg update consolidation/ddt/[email protected] [email protected]
次のコマンドは、新しいCAをインストールする11.3 sru21をインストールします。 DDT-incorporationは、エクスプローラーなどを備えた診断パッケージです。
pkg update --reject ddt-incorporation --accept [email protected]
必要に応じて後で個別のパッケージをインストールできます。そうしないと、後続のpkg更新が失敗しません。 pkg install ddt-incorporation