`update-alternatives --config somecommand` `somecommand`へのシンボリックリンクを見つける方法は?

`update-alternatives --config somecommand` `somecommand`へのシンボリックリンクを見つける方法は?

~からhttps://stackoverflow.com/a/48374564/156458

update-alternatives --config java/usr/bin/java/usr/bin/javacなどのコマンドへのシンボリックリンクをインストールして動作します。

update-alternatives --config somecommandシンボリックリンクを見つける方法はsomecommand

たとえば、bashがbashで直接実行するときに$PATHファイルを検索するのと同じ方法で動作するように依存しますか?somecommandsomecommand

ファイルがsomecommandシンボリックリンクでない場合でも、update-alternative --config somecommandこれは可能ですか?

ありがとうございます。

ベストアンサー1

動作方法はupdate-alternatives説明に記載されています。マンページ。与えられたコマンド(またはファイル、通常はコマンドに限定されない)に対して利用可能な代替リストは、/var/lib/dpkg/alternativesDebianおよびその派生文書に保存されていjavaます/var/lib/dpkg/alternatives/java。 Fedora、RHELおよびその派生物からのファイルは/var/lib/alternatives

パッケージが代替を提供する場合update-alternatives --install(および適切な引数)を使用してインストールし、代替を削除する場合は、必要に応じてそれを使用して独自update-alternatives --removeの代替を提供できます。

update-java-alternativesJavaの特定の場合、Debianとその派生物では、代替処理は少し複雑ですので、すべての置換を手動で操作する代わりに使用する必要があります。

何らかの理由でオーバーライドによって管理されるファイルがシンボリックリンクではない場合、オーバーライドは破損していると見なされ、そのファイルに触れるupdate-alternativesことを拒否します。

おすすめ記事