Macを操作していると、Javaの更新の通知が表示されました。
更新作業中に、Javaをアンインストールしようとしたら、エラーになってしまいました。
結局、更新の方はできましたので、メモしておきます。
1. Java 8 Update 311 Build 11
「Java 8 Update 311 build 11」です。
今のバージョンは、「Java 8 Update 301 build 09」のようですね。
「More information(詳細情報)」をクリックすると、Javaのウェブページが表示されます。
2021年7月20日のリリースが、たまたまこのタイミング(2021年10月20日)で表示されたようです。
「Install Update」をクリックして、更新データをダウンロードします。
2. 使っていないならJavaを削除する
ダウンロードが完了すると、「使用していないバージョンのJavaを削除してください」というメッセージが表示されました。
「最近、Javaを使用していないから削除したら」という意味で、それなら「削除」しようと思いました。
すると、「Javaデプロイメント・キャッシュも削除したら?」というメッセージが表示されました。
いらない一時データなら、削除してよいので、「はい」を選択します。
2-1. Javaのアンインストールに失敗しました:XPC接続エラー
ここで、エラーメッセージ。
「Javaのアンインストールに失敗しました:XPC接続エラー」とのこと。
3. XPC(OS X interprocess communication technology)
「XPC」とはなにか調べてみると、macOSのプロセス間通信の仕組みのようです。
XPC is an OS X interprocess communication technology that complements App Sandbox by enabling privilege separation. Privilege separation, in turn, is a development strategy in which you divide an app into pieces according to the system resource access that each piece needs. The component pieces that you create are called XPC services.
(XPCは、権限の分離を可能にすることでAppSandboxを補完するOSXプロセス間通信テクノロジーです。 次に、特権の分離は、各部分に必要なシステムリソースアクセスに応じてアプリを部分に分割する開発戦略です。 作成するコンポーネントは、XPCサービスと呼ばれます。)
Kernel and Device Drivers Layer
「XPC」がなんの略なのかざっと見て確認できなかったけど、「os X interProcess Communication technology」からなのかな?
メインプロセスを助ける XPCサービス とうまく連携できなかったようです。
4. システム環境設定からJavaコントロール・パネル
システム環境設定の「Java」から設定を確認してみます。
Javaコントロール・パネルが別のウィンドウで開きます。
「更新」タブをみると、先ほどと同じ更新画面を表示できました。
もう一度、「削除」に進んでみましたが、またしても「XPC接続エラー」になりました。
更新プログラム自体のバグなのかな、と思います。
4-1. 今度は更新してみる
今度は、「更新」を選んでみます。
4-2. ざっとJava SEのライセンスを読んでみる
更新されたライセンス契約を表示してみます。
「日本語表示」なのに、ライセンスは英語のままでした。
一応大事な部分を抜粋・和訳してみます。
情報収集(Information Collection)
プログラムのインストールおよび/または更新プロセスは、もしあれば、オラクルがそれらを理解して最適化するのを助けるために、それらのプロセスについてオラクルまたはそのサービスプロバイダーに限られた量のデータを送信することがあります。オラクルは、データを個人を特定できる情報と関連付けません。www.oracle.com/privacyにあるオラクルのプライバシーポリシーを参照してください。
保証の否認; 責任の制限(Disclaimer of Warranties; Limitation of Liability)
プログラムは「現状有姿」で提供され、いかなる種類の保証もありません。オラクルはさらに、商品性、特定目的への適合性、または非侵害の黙示の保証を含むがこれに限定されない、明示および黙示のすべての保証を否認します。
テクニカルサポートなし(No Technical Support)
オラクルは、本契約に基づいてテクニカルサポート、電話サポート、またはアップデートを提供しません。
(Google翻訳)Oracle JavaSEライセンス| オラクル日本(
ライセンス規約としては、わりと一般的な文言です。
4-3. 管理者権限で更新
「インストール」に進みます。すると、権限の許可が表示されました。「Java 8 Update 311」がシステム変更の権限を求めています。
パスワードを入力すると、アップデートが開始します。
少し待つと、更新が完了しました。
更新の方はうまくいくんですね。
5. Javaのアンインストールと管理者権限
Javaの更新の手順の中でアンインストールしようとして、失敗してしまったので、通常の方法でアンインストール方法を確認してみます(参照:MacでのJavaのアンインストール方法(公式サイト))。
Mac OS X で Javaバージョン: 7.0, 8.0 をアンインストールするには、Libraryにある3つの関連するファイル・リンクを削除します。このファイルを削除するには、管理者権限が必要でターミナルから操作します。
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Oracle/Java
「Application Support/Oracle/Java」にプログラム本体があって、「Internet Plug-Ins」でブラウザのプラグインが、「PreferencesPanes」で設定内の「Javaコントロール・パネル」が設定されていたんですね。
6. Javaコントロール・パネルのインターネット一時ファイル
Javaをアンインストールする前であれば、「Javaデプロイメント・キャッシュ」の方は、Javaコントロール・パネルから削除できます。
ちなみに、Javaコントロール・パネルを見てみると、「Javaデプロイメント・キャッシュ」は、「インターネット一時ファイル」と表記されています。
一時ファイルの保存場所をみると、「Java/Deployment/cache」となっています。
ですので、「Javaデプロイメント・キャッシュの削除」は、ここで「ファイルの削除」をしたことと同等の操作ということになります。
こちらもどうぞ