web-dev-qa-db-ja.com

パッケージが/ optにインストールされたのはなぜですか?

しばらく前に、debianマシンにソースからcouchdbをインストールしました。正常にインストールされているようで、すべてが機能しました。

数週間後、dpkgを使用して.debからアップグレードしてインストールしたいと思いました。これで、すべてが/optの下にインストールされたようです。すべて正常に動作しているようですが、/optにインストールされた理由がよくわかりません。 /usr/local/bin/etc/var/logに直接インストールしたときほど「スムーズ」ではありません。/etc/couchdbの下にインストールされた構成ファイルを以前に編集したときよりも、構成するのが面倒です

/optへのインストールが「良いこと」である理由と、これがソースからの以前のインストールよりも優れた方法である理由を誰かに説明してもらえますか?

私はこれがかなり漠然とした質問であることを知っていますが、私は専門家ではなくLinuxにしか精通しておらず、/optへのインストールの背後にある考え方を理解していません。

8
user6055

Filesystem Hierarchy Standard は、次の定義を提供します。

  • /opt:アドオンアプリケーションソフトウェアパッケージ
  • /usr/local:ローカル階層(ソフトウェアをローカルにインストールするときにシステム管理者が使用)

私がそれを読む方法:

  • 標準のシステムアプリケーションは、/binおよび/usr/bin(暗黙的)に配置する必要があります
  • サードパーティのパッケージは/optに入れる必要があります
  • システム管理者が望む場合にのみ、何かを/usr/localにインストールする必要があります

拡張機能として、システム管理者がdpkgまたはrpmを使用して何かをインストールする場合、デフォルトでは/usr/localに入らないようにする必要があります。

したがって、間違いなく正しいことを行っています。

10
Mikel

Debianポリシー 言う

9.1.2サイト固有のプログラム

FHSで義務付けられているように、パッケージは、ファイルをファイルシステムアーカイブに入れてdpkgで解凍するか、メンテナースクリプトで操作することによって、/usr/localにファイルを配置しないでください。

/optに対するそのような特定の禁止事項はありません。ポリシーにも追加

インストールされているすべてのファイルとディレクトリの場所は、以下に示す例外を除いて、Filesystem Hierarchy Standard(FHS)バージョン2.3に準拠している必要があります。

そして File Hierarchy Standard は言う

ディレクトリ/opt/bin/opt/doc/opt/include/opt/info/opt/lib、および/opt/manは、ローカルシステム管理者が使用するために予約されています。

そしてさらに下に

ディストリビューションは/optにソフトウェアをインストールできますが、ローカルシステム管理者の同意なしにローカルシステム管理者がインストールしたソフトウェアを変更または削除してはなりません。

ポリシーはDebian自体を対象としていますが、通常はベストプラクティスの推奨事項に対応していることに注意してください。結論として、これを正しく読んでいると、バイナリ(deb)パッケージを/usr/localにインストールするのはOkではありませんが、/optにインストールするのはOkです。 sysadminによるスペースの使用を妨げることはありません。

私の個人的な意見では、debパッケージを/usr/localまたは/optのいずれかに含めることは悪い考えです。彼が言うとき、私はD4RIOに同意しません:

Debian用のCouchdbパッケージ(つまり、公式)があるので、別のパッケージをダウンロードした場合は問題ありません。/optまたは/usr/local/binのいずれかにインストールする必要があります。

通常、同じソフトウェアに対応する2つの異なるdebパッケージをインストールする必要はありません。実際に同じパッケージ名である場合、dpkgはそれを許可しません。公式パッケージとして入手可能なソフトウェアの非公式Debianパッケージは、一般的に(常にではありませんが)公式のものと同じ名前です。両方ではなく、どちらか一方のみをインストールします。

価値があることについては、/optにdebパッケージを配置することは悪い考えだと私は思います。私が見た中でこれが最近発生したのはGoogle Chromeだけです。ただし、Googleは常にベストプラクティスに従うとは限りません。

5
Faheem Mitha

/optはサードパーティソフトウェア用です。 debian(つまり、公式)用のcouchdbパッケージがあるため、別のパッケージをダウンロードした場合は問題ありません。/optまたは/usr/local/binにインストールする必要があります。

4
D4RIO

Debianではありませんが、 Fedoraパッケージングガイドライン はこれについてかなり明確です:

…Fedoraパッケージは、/ optまたは/ usr/localの下にファイルまたはディレクトリを持つことができません…

パッケージが/ optに物を入れない理由は非常に単純です。前に指摘したように、ファイル階層標準は次のように述べています…

ディストリビューションは/ optにソフトウェアをインストールできますが、ローカルシステム管理者の同意なしに、ローカルシステム管理者がインストールしたソフトウェアを変更または削除してはなりません。

これは、インストールまたは更新によってそのようなデータが変更される可能性があるため、パッケージでは保証できないものです。

私はFedoraがDebianではないことを知っていますが、この場合、それらは非常に似ていると思います。特に、DebianのパッケージチェックツールであるLintianには、これに関する特別なエラーがあるため、 dir-or-file-in-opt

2
Lars Kiesow