公式からパッケージをインストールするときの一般的なルールは何ですか.deb
リポジトリと、言語のパッケージマネージャを使用してインストールする場合の違い上流のリポジトリにあるものは、少なくともわずかに古くなっていることが多いですが、パッケージを「公式」のものと衝突させたくないので、aptitudeが公式のインストールを強制するようですとにかく多くの場合のもの。
これは一般的に答えるのが難しい質問です。
公式の.debパッケージは、Ubuntuコミュニティによる安定性と完全なサポートを提供します。最新バージョンが必要ない場合は、このソリューションの方がよいでしょう。また、更新、削除などのパッケージマネージャーサポートもあります。
アップストリームからのサポートが必要な場合、または最新の機能が必要な場合は、CPAN、gem、pearなどのディストリビューションシステムから取得することをお勧めします。
私の(確かに非ヴァスト)エクスペリエンスでは、言語固有のパッケージマネージャーは、完全にoutside言語の境界である依存関係を追跡することにおいて、.deb
のものほどうまく機能しません。 (特に、Python、Perl、Rubyなどで使用するためにパッケージがラップするCコードライブラリへの依存関係を考えています)。
(たとえば)Pypi Pythonパッケージ'barfoo'
は、_bf.so
Python拡張機能をビルドするためにライブラリlibfoobar
を必要としますlibfoobar
を使用しており、少なくともリリース5.2
である必要があります。どの.deb
がlibfoobar
の適切なリリースを提供しているかを追跡するのはあなた次第です(Pypiパッケージがクローズを追跡している場合は、リリースが見つからない可能性がありますアップストリームの最新かつ最高のものへ)-そして、barfoo
を後でアンインストールする場合に備えて、どういうわけかそれを追跡します(そのため、libfoobar
サプライヤーは、「孤立」し、削除される可能性があります/削除する必要があります)。
Pypi/CPAN/etcを他のパッケージ配布システムと統合する問題は、まだ「解決済み」の問題と見なすことはできないと思います。最小限の管理上の問題で、公式の.deb
を使用して問題を解決できる場合(最新かつ最大の料金は必要ありません&c)、それがお勧めです。もちろん、もう一方の極端な例では、パッケージについてdoスーパーアップデートを希望します(たとえば、あなたはパッケージの上流の作者/メンテナの1人です;-)、維持するオプションがあります。パッケージが使用するバージョン管理システム(svn、hg、git、Bazaarなど)の新しいリポジトリと、ソースからビルドした状態を維持します。 Pypi/CPAN /&cは「中間」にあります。確かに、この中間の方法も時々お勧めです。
また、考えられる1つのオプションは、独自の.deb
パッケージを(Pypi/CPAN /&cパッケージ、または上流ソースに基づいて)ビルドし、そのようなパッケージのリポジトリを維持することです(これらのパッケージの場合)公式の.deb
リポジトリが不十分であるか、逆方向であることがわかります)。それ以外の方法(言語外の依存関係を手動で追跡)でインストールするよりも問題は多くなく、「孤立したパッケージ」などを特定するのに役立ちます(さらに、パッケージを公開すると、他の人を助けることもできます;-)。
Aptitudeを使用して別のパッケージマネージャーからパッケージを管理することに本当に反対しています。 CPAN、Gems、Pecl、Pearなどは、それぞれの言語のパッケージマネージャーです。それらは、あなたがデフォルトにすべきものです-私の意見では-それが彼らのために設計されたものだからです。言うまでもなく、それらのほとんどすべてがアップグレードと更新を処理します(gem update、gem upgradeなど)。これは、yumを使用してUbuntuマシンにApacheをインストールするようなものです。
とは言っても、Aptitudeバージョンが最高の時代を支配している場合がいくつかあります。その1つは、言語パッケージマネージャーからのモジュールのインストールが失敗した場合です(これは通常、さまざまな構成の問題が原因です)。この問題に遭遇することはめったにありません。
私の意見では優先順位言語パッケージマネージャー> Aptitude。