~からhttps://stackoverflow.com/a/48374564/156458
update-alternatives --config java
/usr/bin/java
/usr/bin/javac
などのコマンドへのシンボリックリンクをインストールして動作します。
update-alternatives --config somecommand
シンボリックリンクを見つける方法はsomecommand
?
たとえば、bashがbashで直接実行するときに$PATH
ファイルを検索するのと同じ方法で動作するように依存しますか?somecommand
somecommand
ファイルがsomecommand
シンボリックリンクでない場合でも、update-alternative --config somecommand
これは可能ですか?
ありがとうございます。
答え1
動作方法はupdate-alternatives
説明に記載されています。マンページ。与えられたコマンド(またはファイル、通常はコマンドに限定されない)に対して利用可能な代替リストは、/var/lib/dpkg/alternatives
Debianおよびその派生文書に保存されていjava
ます/var/lib/dpkg/alternatives/java
。 Fedora、RHELおよびその派生物からのファイルは/var/lib/alternatives
。
パッケージが代替を提供する場合update-alternatives --install
(および適切な引数)を使用してインストールし、代替を削除する場合は、必要に応じてそれを使用して独自update-alternatives --remove
の代替を提供できます。
update-java-alternatives
Javaの特定の場合、Debianとその派生物では、代替処理は少し複雑ですので、すべての置換を手動で操作する代わりに使用する必要があります。
何らかの理由でオーバーライドによって管理されるファイルがシンボリックリンクではない場合、オーバーライドは破損していると見なされ、そのファイルに触れるupdate-alternatives
ことを拒否します。