しばらく前に、debianマシンにソースからcouchdbをインストールしました。正常にインストールされているようで、すべてが機能しました。
数週間後、dpkgを使用して.debからアップグレードしてインストールしたいと思いました。これで、すべてが/opt
の下にインストールされたようです。すべて正常に動作しているようですが、/opt
にインストールされた理由がよくわかりません。 /usr/local/bin
と/etc
と/var/log
に直接インストールしたときほど「スムーズ」ではありません。/etc/couchdbの下にインストールされた構成ファイルを以前に編集したときよりも、構成するのが面倒です
/opt
へのインストールが「良いこと」である理由と、これがソースからの以前のインストールよりも優れた方法である理由を誰かに説明してもらえますか?
私はこれがかなり漠然とした質問であることを知っていますが、私は専門家ではなくLinuxにしか精通しておらず、/opt
へのインストールの背後にある考え方を理解していません。
Filesystem Hierarchy Standard は、次の定義を提供します。
/opt
:アドオンアプリケーションソフトウェアパッケージ/usr/local
:ローカル階層(ソフトウェアをローカルにインストールするときにシステム管理者が使用)私がそれを読む方法:
/bin
および/usr/bin
(暗黙的)に配置する必要があります/opt
に入れる必要があります/usr/local
にインストールする必要があります拡張機能として、システム管理者がdpkg
またはrpm
を使用して何かをインストールする場合、デフォルトでは/usr/local
に入らないようにする必要があります。
したがって、間違いなく正しいことを行っています。
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は常にベストプラクティスに従うとは限りません。
/opt
はサードパーティソフトウェア用です。 debian(つまり、公式)用のcouchdbパッケージがあるため、別のパッケージをダウンロードした場合は問題ありません。/opt
または/usr/local/bin
にインストールする必要があります。
Debianではありませんが、 Fedoraパッケージングガイドライン はこれについてかなり明確です:
…Fedoraパッケージは、/ optまたは/ usr/localの下にファイルまたはディレクトリを持つことができません…
パッケージが/ optに物を入れない理由は非常に単純です。前に指摘したように、ファイル階層標準は次のように述べています…
ディストリビューションは/ optにソフトウェアをインストールできますが、ローカルシステム管理者の同意なしに、ローカルシステム管理者がインストールしたソフトウェアを変更または削除してはなりません。
これは、インストールまたは更新によってそのようなデータが変更される可能性があるため、パッケージでは保証できないものです。
私はFedoraがDebianではないことを知っていますが、この場合、それらは非常に似ていると思います。特に、DebianのパッケージチェックツールであるLintianには、これに関する特別なエラーがあるため、 dir-or-file-in-opt