作成日: 2023/05/26 更新日: 2023/06/02 サイトの紹介と使い方
初めに
- この記事は、基本的に本サイトの他の記事の参照用に書いた覚書です。
概要
- シンボリックリンクとは、実用上Windowsのショートカットの参照先を替えることと同じです。
使用目的
- あるパッケージをバージョンアップした時、そのバージョンアップを反映させるために使用します。
- Centos のパッケージは、バージョンアップした時、自動的に反映されるものとシステムに古いバージョンのまま認識されるものがあります。
- 依存関係の問題で任意のバージョンを使用したいときがあります。
- シンボリックリンクによって、任意のバージョンを参照先に指定することを目的とします。
設定ファイル
- シンボリックリンクは、ユーザごとに設定できます。
- ユーザはHOME(~/)ディレクトリの .bash_profile にシンボリックリンクを設定します。
設定方法
- シンボリックリンクの設定を間違えると、問題が煩雑になるので注意します。
- ターゲット(インストールする)のコマンド名を xxxx とします。
- 新しいバージョンをインストールする前に現在動いているコマンド xxxx のバージョンを調べます。
- 現在動いているコマンドが存在するディレクトリを調べます。
そして、記録しておきます。
このディレクトリを yyyy とします。
which コマンド - コマンドの任意のバージョンをインストールします。
そして、インストールしたディレクトリを記録しておきます。
このディレクトリを zzzz とします。 - シンボリックリンクを設定します。
これで、今まで動いていたコマンドが新しくインストールしたバージョンに置き換わりました。
新しい 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/
注意点
- バージョンチェックの時などに、現在いるディレクトリ(カレント)を確認します。
- 環境変数PATHより、カレントディレクトリが優先されるので、思わぬ情報を取得してしまうかもしれません。
- バージョンチェックなどは、ホームディレクトリで行うことをお勧めします。
最後に
- 筆者の理解の仕方と使い方です。