代替コマンドを使用するのはなぜですか?

代替コマンドを使用するのはなぜですか?

私はフォロー中です。このウェブサイトSpring Boot Dockerコンテナ構築情報。彼らはCentOSを使用しています。

dockerfileで代替コマンドを複数回呼び出します。私はこの発言の目的を理解したいと思います。

注:runはdockerコマンドです。実行する代替コマンドを渡したいです。

RUN alternatives --install /usr/bin/java jar /usr/java/latest/bin/java 200000
RUN alternatives --install /usr/bin/javaws javaws /usr/java/latest/bin/javaws 200000
RUN alternatives --install /usr/bin/javac javac /usr/java/latest/bin/javac 200000

私が知っている限り、彼らはシンボリックリンクを修正しています。これは正しいですか?もっと重要なのはなぜでしょうか?

ありがとう

マット

答え1

システムに複数のバージョンの実行可能ファイル(javaなど)を保持する必要があるかもしれません。おそらく、ほとんどのシステムはJava 8を使用できますが、Java 7を必要とするアプリケーションがあります。

これ代替このプログラムを使用すると、あるバージョンから別のバージョンにすばやく切り替えることができます。

編集:これを行う他の理由については、次を参照してください。JAVA_HOMEとアップデートの代替案の違いは何ですか?そして更新の代替手段を使用して代替を追加するより良い方法は何ですか?

~から男の選択:

同一または類似の機能を実行する複数のプログラムを単一のシステムに同時にインストールできます。たとえば、多くのシステムには複数のテキストエディタが同時にインストールされています。これはシステムユーザーにオプションを提供し、各ユーザーが必要に応じて異なるエディターを使用できるようにしますが、ユーザーが特定のデフォルト設定を指定しない限り、プログラムが呼び出すエディターを選択することは困難です。

これ代替システムはこの問題を解決するように設計されています。ファイルシステムの共通名は、交換可能な機能を提供するすべてのファイルで共有されます。代替システムとシステム管理者は、共通名が参照する実際のファイルが何であるかを共同で決定します。


関連情報