全長DR

全長DR

全長DR

一部のLinuxシステム(RedHat / CentOSベース)でUNIXを発見しました。代替さまざまなバージョンのJavaを管理するために使用されるプログラムです。私のシステムの1つがUbuntu 20.04であり、代替システムは存在しません。

私の質問はUbuntu 20.04で代替を使用できますか?

それでは、どのようにインストールしますか?下図のようにインストールしようとしましたが見つかりませんでした。

sudo apt install alternatives
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package alternatives

注:実際には同様の名前(代替のGUIバージョン?)を持つインストールがあるため、sudo apt install galternatives調査中です。おそらく十分にうまくいくでしょう。

関連する質問は (Q)代替プログラムをすべてのLinuxバージョンで実行できますか?それとも特定のLinuxパッケージマネージャでのみ機能しますか?以前はyum installCentOS コマンドで使用していました。

選択肢はどのように機能しますか?

この記事を読んでくださいhttps://www.redhat.com/sysadmin/alternatives-command。ここで説明されている例を含む、この質問は独立しています(リンクが機能していない場合)。

交換品を取り付けたら、次のことができるはずです。

(1) 複数のバージョンのアプリケーションをインストールします。各バージョンが異なるディレクトリにインストールされている限り、代替案があっても大丈夫です。

(2) さまざまなバージョンのアプリケーションがインストールされている場所がわかるようにオーバーライドを設定します。

この場合、1つはにあり、/opt/em-legacy/em2もう1つはにあります/usr/local/bin/nem。名前をuemacsとして指定し、/usr/bin/em実行パスを変更する必要がないように代替を有効にします。

$ sudo 代替 --install /usr/bin/em uemacs /opt/em-legacy/em2 1

$ sudo 代替 --install /usr/bin/em uemacs /usr/local/bin/nem 99

(3) 使用したいアプリケーションのバージョンを代理人に教えてください。これは、alternatives --config以下に示すコマンドを使用して実行されます。

$ sudo alternatives --config uemacs
[sudo] password for seth: 

There are 2 programs which provide 'uemacs'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/local/bin/nem
   2           /opt/em-legacy/em2

これについては参考文献で詳しく説明します。

私の質問に関する背景情報

長年にわたって、私は手動でJavaインストールを管理し、Javaパッケージを解凍または解凍し、更新が必要なときに新しいディレクトリに繰り返し解凍したり、解凍したり、最も使用されているバージョンを指すシンボリックリンクを管理してきました。

クラウドに入る... Javaを手動でインストールするのに疲れました。他の(より簡単な)方法を見つける必要があります。 代替良い解決策のようです。

答え1

Debianベースのディストリビューションでは、2つのコマンドラインツールを使用してJavaバージョンを管理できます。

  1. update-alternatives

これは私のものです。AnswerU&L使用のためupdate-alternatives

  1. update-java-alternatives

これはgalternativescli用のグラフィック設定ツールですupdate-alternatives

関連情報