web-dev-qa-db-ja.com

`update-alternatives`は正確に何をしますか?

update-alternativesコマンドは何に使用されますか?

次の例をご覧ください。

Sudo update-alternatives --install /usr/bin/Java java /usr/local/Java/jre1.7.0_09/bin/Java 1

それは何をするためのものか? jdkをパスに追加することとどのように違いますか?

コマンドを実行したとしましょう。元の状態に戻すにはどうすればよいですか?

98

/etc/alternativesのリンクを更新して、この目的のプログラムを指し示します。 x-www-browsereditorなどのように、好みのブラウザーまたはエディターにリンクする多くの例があります。一部のスクリプトまたはシステムツールでは、ファイルを手動で編集する必要がある場合があり(例:dpkgでの構成の競合)、選択したエディターを提供するために代替手段を調べます。 Javaの場合、これはJavaランタイム環境です-Oracle、OpenJREなど。

/etc/alternativesのリンクは単なるシンボリックリンクです。あなたは例えばを使用してそれらを見ることができます

ls -l /etc/alternatives

さらに、通常の/usr/binバイナリもシンボリックリンクです。例えば。:

ls -l /usr/bin/Java
  lrwxrwxrwx 1 root root 22 Aug 14 10:33 /usr/bin/Java -> /etc/alternatives/Java
ls -l /etc/alternatives/Java
  lrwxrwxrwx 1 root root 46 Aug 14 10:33 /etc/alternatives/Java -> /usr/lib/jvm/Java-6-openjdk-AMD64/jre/bin/Java

したがって、PATHを変更する必要はありません。シンボリックリンクを使用するだけです。

73
gertvdijk