15.シンボリックリンクの使い方

作成日: 2023/05/26 更新日: 2023/06/02 サイトの紹介と使い方



初めに

  1. この記事は、基本的に本サイトの他の記事の参照用に書いた覚書です。


概要

  1. シンボリックリンクとは、実用上Windowsのショートカットの参照先を替えることと同じです。

使用目的

  1. あるパッケージをバージョンアップした時、そのバージョンアップを反映させるために使用します。
    1. Centos のパッケージは、バージョンアップした時、自動的に反映されるものとシステムに古いバージョンのまま認識されるものがあります。
    2. 依存関係の問題で任意のバージョンを使用したいときがあります。
  2. シンボリックリンクによって、任意のバージョンを参照先に指定することを目的とします。

設定ファイル

  1. シンボリックリンクは、ユーザごとに設定できます。
  2. ユーザはHOME(~/)ディレクトリの .bash_profile にシンボリックリンクを設定します。

設定方法

  1. シンボリックリンクの設定を間違えると、問題が煩雑になるので注意します。
  2. ターゲット(インストールする)のコマンド名を xxxx とします。
  3. 新しいバージョンをインストールする前に現在動いているコマンド xxxx のバージョンを調べます。
  4. 現在動いているコマンドが存在するディレクトリを調べます。
    そして、記録しておきます。
    このディレクトリを yyyy とします。
    which コマンド
  5. コマンドの任意のバージョンをインストールします。
    そして、インストールしたディレクトリを記録しておきます。
    このディレクトリを zzzz とします。
  6. シンボリックリンクを設定します。
    これで、今まで動いていたコマンドが新しくインストールしたバージョンに置き換わりました。
    新しい zzzz ディレクトリのコマンドを古い yyyy ディレクトリのコマンドにシンボリックリンクを使って、強制的に設定(置換)します。
    下にコードの例を記します。
$ xxxx -V      ⇒ バージョンを調べます。
$ which xxxx   ⇒ 現在動いているコマンドが存在するディレクトリを調べます。
                   このディレクトリを yyyy とします。(記録しておきます。)
$ ln -sf yyyy/xxxx zzzz/xxxx ⇒ シンボリックリンクを設定します。
# または、
$ ln -sf xxxx zzzz/xxxx ⇒ シンボリックリンクを設定します。

# 例

$ ln -nfs /usr/testcmd/bin/ /usr/local/testcmd/2.8.6/bin/

注意点

  1. バージョンチェックの時などに、現在いるディレクトリ(カレント)を確認します。
  2. 環境変数PATHより、カレントディレクトリが優先されるので、思わぬ情報を取得してしまうかもしれません。
  3. バージョンチェックなどは、ホームディレクトリで行うことをお勧めします。

最後に

  1. 筆者の理解の仕方と使い方です。

お問合せ・御要望

お問合せ
Verified by MonsterInsights
タイトルとURLをコピーしました