web-dev-qa-db-ja.com

カスタムbashスクリプトをインストールするのに適した永続的な場所はどこですか?

私はclojureプログラミング言語用のbashスクリプトである "leiningen"をインストールしようとしています。これは多くの有用性があります... ...しかし、Linuxで実行可能スクリプトを-put-するのが適切な場所はわかりませんシステムが永続的かつ安定的に利用できるようにします。

/ homeのどこにでも意味があるとは思いませんが、どのディレクトリ/ディレクトリがそのために使用されることになっているのかわかりません。

/ usr/share?

33
Kzqai

(注:~は、この投稿では/home/userに変換されます)

個人的には、すべてのカスタムシステムスクリプトを/usr/local/binに入れ、すべての個人bashスクリプトを~/binに入れました。インストールするプログラムが非常に少ないため、自分自身を/usr/local/binディレクトリに配置しているため、あまり雑然としておらず、ほとんどのマシンで$PATH変数にすでに含まれています。

システムパスに/usr/local/binを追加するには(まだない場合)、これを/etc/profileに追加します。

PATH=$PATH:/usr/local/bin
export PATH

~/binをユーザーのパスに追加するには、これを~/.bash_profileに追加します。

PATH=$PATH:$HOME/bin
export PATH

デフォルトの.bash_profileファイルには、存在する場合に~/bin$PATHを自動的に追加するifステートメントが含まれる場合があるため、~/binを作成し、新しいターミナルを開いて、これを行います。

47
Trey Hunner

/ usr/local /は実際に適切な場所ですが、/ optは実際にはサードパーティのアプリケーション用です。 「/ optは、アドオンアプリケーションソフトウェアパッケージのインストール用に予約されています。」これはFilesystem Hierarchy Standardの一部です。

/ optの説明については http://www.pathname.com/fhs/pub/fhs-2.3.html を参照してください。

/ usr/local /の場合、「システム管理者が使用する」ためのものです。そこにあるものを忘れないでください-それを文書化してください。

9
Jamieson Becker

歴史的には/ optのようなものを使用します。それを持っているはずのユーザーのために$ PATHで更新されている限り、何でも問題ありません(したがって、/ homeにあるものはすべて悪い考えです)。

3
Tony

/usr/share/clojureは、clojureのバイナリとライブラリを配置するための一般的な場所のようです—なぜかわからないので、/usr/local/share/clojure—これらのbashスクリプト用に、この下にsiteサブディレクトリを作成すると問題ないようです。

一般的なポイントは、すべてのbashスクリプトを同じ場所に配置するのではなく、機能ごとにスクリプトを整理する方が理にかなっているということです。

2
Charles Stewart

/usr/local、「ローカル」の意味にはいくつかの混乱があると思います。

私が理解しているように、「ローカル」は「ローカルマシン上で/から発生」することを意味するのではなく、「ローカルマシンに固有」を意味します。

2
Hatebit