シェルツールはどこにインストールすればよいですか?


5

Mountain LionのユーザーシェルツールをどこにインストールするかについてのAppleのガイドラインはありますか? TeXやAppleのGitなどの中には、 /usr他の人(例:X11)は /opt (時々からのシンボリックリンク付き) /usr 一方、他の人(例:Git)は /user/localそして、私はその違いが何であるか、そして一方が他方よりも好まれるかどうかと思います。


1
どのOS Xバージョンですか?
Global nomad

良い質問;一定。
orome

回答:


7

ファイルシステム階層標準 Linuxや他のUnixベースのOSではこれに従いますが、OS Xもこれに従っています。の /private フォルダは基本的にあなたのOS Xコアが存在する場所です。 /etc そして /var フォルダは単にシンボリックポインタです。 /private/etc そして /private/var それぞれ。これを使用して確認できます。 readlink として readlink /etc

/opt フォルダは追加のユーザアプリケーション用であり、 /usr/localそして、どちらか一方にインストールすることを選択できます。それは(あなたが適切にあなたのパスに追加することに気を配っている限り)本当に重要ではなく、主な目的はそれをオペレーティングシステムのアップグレードから隔離しておくことです。 /bin

多くの場合、次の「ゆるい規則」が採用されています。

  • パッケージ/アプリケーションがUNIX標準に準拠している場合は、それをインストールします。 /usr/local/。パッケージに驚きはないでしょうし、あなたは間違いなくのようなサブディレクトリ構造を期待することができます binetcincludeshare、 等々。

  • ソフトウェアが、サブディレクトリ構造が次のようになっているスタンドアロンアプリケーションとしてパッケージされている場合 任意 、あなたはそれをにインストールするだけです /opt。私のマシンにはVPNがあります。 cisco にインストール /opt そしてそれは以下のディレクトリを持っています: anyconnecthostscanvpn。これらはどれもUNIX準拠のフォルダではありません /usr/local 良い考えではないでしょう。

どちらを見るか、そしてあなたがunixをよく知っているかに応じて、どちらにも「長所」と「短所」があります。

  • にインストール /usr/local 単純に追加すれば、その点で「便利」です。 /usr/local/bin あなたのパスに、他のすべてが設定され、あなたが新しいアプリケーションを追加した場合あなたは何も変更する必要はありません。一方、何かを削除する必要があると、すべてのプログラムがまとまってしまい、どのバイナリがアプリケーションX用にインストールされ、どのバイナリがアプリケーションY用にインストールされたのかわからなくなるため、大変です。

  • にインストール /opt/programX 手動でパスに追加してシンボリックリンクを設定する必要がありますが、アプリケーションを削除すると便利です。フォルダを削除するだけで済み、完了です。


1
二つの質問:(1)なぜTeXをするのか texbin )入れて /usr のではなく /usr/local (2)「基本的にあなたのOS Xコアが存在する場所」とはどういうことか private ほとんど設定についてのようです)?
orome

2
おそらく「コア」は間違った言葉の選択でした(それがすべてそこに存在するという印象を与えたので)、しかし私が伝えたいのはそれがあなたのOSの一部であり、あなたがそれをいじってはいけないということです。もちろん、編集で質問から削除したので、これは意味がありません。はどうかと言うと texbinそれは彼らが採用し固執した慣習である(それに関して何も悪いことではない)。またあります /usr/local/texliveパッケージのインストール先。
rm -rf

1
はい、すみません。 private 質問の一部 他の場所で
orome

1
@raxacoricofallapatorius - texbinが規格を破っているようです - Appleがインストールしたプログラムだけが/ useにあるべきです(/ usr / localを除く)。挑むことは別の場所で尋ねられる別の質問です ここに
Mark
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.