パスの位置をシンボリックリンクに設定すると欠点はありますか?

パスの位置をシンボリックリンクに設定すると欠点はありますか?

JAVA_HOMEを設定して代替場所を使用しています。

/usr/lib/jvm/jre

これは現在アクティブなsimlinkインストールの絶対パスです。

このシンボリックリンクの場所を使用すると欠点がありますか?

私が読んだ他の記事では、onelinerを使用して最終的に絶対パスを指すことを提案します。たとえば、次のようになります。

JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

なぜ誰も私が設定した単純な場所を使用することを提案していないのか分かりません。これまで何の問題も発生していませんでしたが、このソリューションが機能しない特別な場合がありますか?

ベストアンサー1

いいえ、この場合はシンボリックリンクを使用することをお勧めします。たとえば、次のようなものがあるとします。

/opt/some-program-2.0/bin/

バイナリセットが含まれている場合は、シンボリックリンクを作成できます。

/opt/some-program -> /opt/some-program-2.0

そして/opt/some-program/binパスに追加しました。今後some-program-3.0リリースされると、次のことができます。

/opt/some-program-3.0/

新しいディレクトリを指すようにシンボリックリンクを更新します。これにより、他のものを変更する必要がなくなります。

DistroのJVM管理は通常このパターンに従います。

おすすめ記事