今日も元気にテクニカル

技術情報書きたいけど本ブログに書きたくないからこんな名前になりました。

/usr/binと/usr/local/binの違いについて

表題の通り、2つの違いが分からなかった。perlスクリプトをダウンロードして中身を見てみると、先頭にusr/bin/perlって書いてるものもあり、一方で/usr/local/bin/perlと書いてるものもある。

2つの違い

パッケージシステム(yumやYaST2)によってアップデートされるかどうか。つまり、usr/bin以下のperlyumを実行するとアップデートされる。しかし、usr/local/bin以下に導入した場合、勝手に中身が変わることはない(その代わり、自分でアップデートする必要がある。)

ん?それって/usr/local/bin使う意味なくない?

/usr/local/binの使い方

/usr/local/bin ‐ 通信用語の基礎知識
例えば、OS標準のmakeが使えず、GNU makeが必要、といったことは良くある話である。しかし標準のmakeを置き換えてしまうことは、望ましくない結果を生む可能性がある。

このような場合、/usr/local/binにGNUのmakeを入れ、コマンドパスで/usr/local/binを/usr/binより先に書くだけで、簡単にmakeを差し替える事ができる。

つまり、システムの標準は/usr/bin、そうでないものは/usr/local/bin、とすることで、ユーザは新しいコマンドをインストールして使うことができる。もし問題があれば、/usr/local/binのコマンドを削除するだけで良い。

これは、新しいバージョンのPerlなどを試したい、と言った時にも有効である。

ふむふむ。つまり安定版以外の評価版バージョンは/usr/local/bin以下に保存すると。んで、スクリプトの先頭に/usr/local/binを書いとくと評価版を使ってくれる。もし評価版に不具合があれば/usr/local/bin以下のファイルを削除するだけ。スクリプトの中身を書き換える必要はない。

自作スクリプトの保管場所

Windowsユーザーに教えるLinuxの常識(4):ユーザーとパーミッションにみるLinuxの設計思想 (1/2) - @IT
作業領域は/home以下にユーザー名と同じディレクトリが用意されているのが普通で、ここを「ホームディレクトリ」と呼びます。ちょっとしたツールなどは、この下にbinやscriptなどといったディレクトリを作ってインストールします。

自作スクリプトの保管場所は/home/ユーザーID/bin(script)でよかったみたい。