web-dev-qa-db-ja.com

ユーザーアプリケーションをインストールするとき、「ベストプラクティス」はそれらがどこにあると示唆していますか?

aptや別のパッケージマネージャーを使用するのではなく、アプリケーションを手動でインストールすることがあります。

ユーザーアプリケーションのインストールの「ベストプラクティス」で推奨される場所(/usr//usr/local//opt//home/など)

206
citadelgrad

それは本当に異なります。アプリケーションにmakefileがある場合、またはアプリケーションがdistutilsを使用している場合(たとえばsetup.pyファイルがある場合)またはpythonアプリ、または同様のビルド/インストールシステムがある場合、インストールする必要があります/usr/local/。多くの場合、これがデフォルトの動作です。

私が理解していることから、/usr/local/には/usr/に似た階層があります。ただし、/usr/bin//usr/lib/などのディレクトリは通常、aptを介してインストールされるパッケージ用に予約されています。したがって、/usr/に「インストール」されることを期待しているプログラムは、/usr/local/で正常に動作するはずです。

Tarballを抽出して直接実行する必要がある場合(例:Firefox)、それを/opt/に入れます。 1つのディレクトリのみを必要とし、そのディレクトリに関連するすべてのファイル/ライブラリを取得するプログラムは、/opt/で1つのディレクトリを取得できます。

182
Umang

/usrserではなく、nixシステムリソースを表していることを忘れないでください。

そのため、どのディストリビューションにも/usr,のコンテンツ全体を踏みつける権利があり、システムへの特定の追加は/usr/localにあると考えがちです。

一方、アプリケーションやその他のものは/optに入ります。

一部の人々は/homeに物を入れることに抵抗を感じませんが、私はその慣例に従うことはめったにありません。

とは言うものの、まず配布パッケージマネージャーに処理を行わせ、次に手作業で上記の処理を行います。

116

Firefox develのような不安定なプログラムを/ home/user/opt /にインストールすると、削除がはるかに簡単になり、他のユーザーが使用するバージョンについて混乱することはありません。ホームディレクトリのサブフォルダにあります。

/ usr /にプログラムをインストールしないでください。混乱を引き起こす可能性があります。/usr/にインストールされるものは、配布パッケージ専用です。/usr/local /は、ローカルにコンパイルされたパッケージ用です。そして、構造はまったく同じように機能します!/usr/local /内のファイルは、/ usr /内のファイルよりも優先されます

/ opt /は、事前にコンパイルされた(バイナリ)パッケージ(Thunderbird、Eclipse、Netbeans、IBM NetSphereなど)などのインストールに使用する必要があります。ただし、単一のユーザーのみの場合は、ホームディレクトリに配置する必要があります。

「奇妙な」場所(/ home/user/opt/firefox /など)にインストールされたプログラムを、パス全体を入力せずに実行できるようにしたい場合は、$ PATH変数に追加する必要があります。 /home/user/.profileにこのような行を追加します

export PATH=/home/user/opt/firefox:$PATH

フォルダー名は、実行する必要がある実行可能ファイルが置かれている名前にする必要があります。

34
LassePoulsen

Linux Filesystem Hierarchy Standardは/usr/localを示しています。

http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html から:

「/ usr/local」の背後にある当初のアイデアは、「/ usr」以外のすべてのマシンに個別の(「local」)「/ usr」ディレクトリを作成することでした。 '/ usr'の構造をコピーします。最近、「/ usr/local」は、自己コンパイルまたはサードパーティのプログラムを保持するのに適した場所として広く認識されています。/usr/local階層は、ソフトウェアをローカルにインストールするときにシステム管理者が使用するためのものです。システムソフトウェアの更新時に上書きされないようにする必要があります。ホストのグループ間で共有可能であるが/ usrにはないプログラムおよびデータに使用できます。ローカルにインストールされたソフトウェアは、/ usr内のソフトウェアを置換またはアップグレードするためにインストールされている場合を除き、/ usrではなく/ usr/local内に配置する必要があります。

26
popey

私は通常、これらのプログラムをインストールする自宅に「プログラム」という名前のフォルダーを持っています。奇妙な(またはそうではない)それらはすべてJavaのものです。

コンピューターを再インストールしたり変更したりすると、自宅のほかの場所と一緒に移動するという大きな利点があります。明らかな欠点があります。これらのアプリはユーザーのみが利用できます。

6
Javier Rivera

「checkinstall」を使用して、エイリアンパッケージをdebに変換し、パッケージマネージャーを使用してアンインストールできるようにします。

構成ファイルは多くの場合、構成ファイルとして処理されず(おそらく無視されるか、アプリの一部として扱われる)、インストール前およびインストール後のスクリプトが時々失敗することに注意してください。 debには、インストール前またはインストール後の不正なスクリプトが含まれます。