今日私が経験した次の状況を考慮して、APTパッケージが一般的にどのように管理されているかを理解したいと思います。
私のDebianコンピュータにMongoDBを追加しようとしています。apt search mongodb
良い結果を示しています。インストール前に読みました。MondoDBドキュメントそれは次のように言います:
システムで MongoDB Community Edition を実行するには、次の手順に従います。このガイドラインでは、Debian が提供する非公式の mongodb パッケージではなく、公式の mongodb-org パッケージを使用し、デフォルト設定を使用することを前提としています。
これを通して、私はDebianで得たapt install
ものを理解して驚きました。非公式アプリケーション開発者が作成します。これは「推奨しない」よりも悪いようです。
私はDebian APTパッケージリポジトリが以前のバージョンを表示する傾向があり、最新の最新のアップデートに追いついていないことを理解しています。この問題を解決する方法はいくつかありますが、今はこの言葉が心配です。非公式。これは、MongoDB(または他のアプリケーション)に関連するAPTリポジトリのパッケージがアプリケーション開発者によって正式に承認されていないことを意味しますか?それとも開発者が正式にリリースしましたが、「最新バージョンではないので忌避」しているのでしょうか?それとも誰か(どのグループ?)が公式インストールパッケージをコピーしてAPTに貼り付けましたか?
私はMongoDBの特定のケースを理解したいと思いません。代わりに、アプリケーションとAPTの全体的な「政治」を理解したいと思います。どのように動作し、どのように動作するのですか?
これが愚かな質問であれば申し訳ありませんが、オンラインで良い説明が見つかりません。すべてのリンクや参考資料をいただきありがとうございます。
答え1
すべてのディストリビューション(Debianだけでなく)のパッケージは、通常、アプリケーション開発者ではなく、デプロイコミュニティメンバー(しばしばパッケージャまたはパッケージと呼ばれる)によってパッケージ化されます。パッケージマネージャ。時々、アプリケーション開発者は特定のディストリビューションのパッケージになるかもしれませんが、これはルールではありません。開発者は決してすべてのディストリビューションで自分のアプリケーションを維持することはできません。
「承認済み」および「公式」または「非公式」に関する場合。ここではフリーソフトウェアについて話しています。ライセンスを使用してソフトウェアを配布できるため、配布用のソフトウェアをパッケージ化するために誰の承認も必要ありません。開発者は自分のソフトウェアがパッケージ化され提供される方法に同意しないかもしれませんが、それが彼らができるすべてです。
このパッケージが(非)正式な理由が何であるかよくわかりません。すべてのパッケージは第三者が製作したので理論的に非公式的だと思います。おそらく(非)公式の定義によって異なります。
パッケージャと開発者の間で緊張を引き起こす可能性のある1つはリリースサイクルです。 Distros(特にDebian StableやRHEL / CentOSなどの「安定した」ディストリビューション)には、独自のリリースサイクルとソフトウェアとAPIの約束があります。安定化これは通常次のように異なります。上流リリースサイクル。これは、リリースで一般的にいくつかのバグ修正でバックポートされた古いバージョンを見る理由です。時々、アップストリーム開発者は修正されたがバックポートされていないバグレポートを受け取るので、これは好きではありません。時々、パッケージャがコンパイル時オプションとソフトウェアの(デフォルト)機能を変更するその他の事項について自分で決めるのも面倒です。したがって、開発者は「配布パッケージの代わりに「公式」パッケージを使用してください」と言って、自分に最も適したものが何であるかを判断するのはユーザーの役割です。
答え2
主な質問は「正式に」です。WHO?どれが「公式」であるかは、あなたが要求する「オフィス」によって大きく異なります。
MongoDB開発者によると、MongoDB開発者が配布するパッケージは「公式」パッケージです。 Debian開発者によると、Debian開発者が配布するパッケージは「公式」パッケージです。
ある意味では、どちらも他方よりも「公式」ではありません。グローバル感じる。
配布パッケージがベンダーパッケージと異なる理由はいくつかあります。
- ベンダーパッケージは、このディストリビューションでサポートされているすべてのアーキテクチャをサポートしていません。たとえば、MongoDBはAMD64のDebian用パッケージのみを提供します。しかし、DebianはAMD64だけでなく、armel、armhf、arm64、x86、mipsel、mips64el、ppc64el、s390xもサポートしています。したがって、RaspberryPi(ARM64)でDebianを使用している場合は、MongoDBのパッケージがないことを意味します。
- ベンダーパッケージは最新リリースをサポートしていません。 Debianの最新バージョンはDebian 11ですが、MongoDBはDebian 9と10用のパッケージのみを提供しています。
- 展開はサポートされていますが、ベンダーパッケージはサポートされていません。たとえば、Debianのバージョンは通常、次のバージョンがリリースされてから1年(通常約3年間)Debianセキュリティチームによってサポートされます。その後、Debian LTSと呼ばれるDebianコミュニティ内のボランティアチームは、最初のリリース以来最大5年間メンテナンスを続けました。後ろにそれ、元のリリースから最大7年間サポートを提供する「Debian ELTS」というサードパーティの商用プロジェクトがあります。 〜の後それ必要に応じて、さらなるサポートのためにDebianコンサルタントを雇うことができます。
たとえば、Debian 8はまだELTSをサポートしていますが、MongoDBはそのパッケージを提供していません。 - Distro開発者は、リリースされたすべてのパッケージがデプロイライフサイクル全体にわたってリリースされる他のすべてのパッケージで動作し、リリースされるすべてのバグ修正が以前のバージョンと互換性があることを保証します。一般に、ベンダーは独自のパッケージに関して同じ保証を行いません。たとえば、MongoDBパッケージを使用し、アップデートによって他のパッケージがクラッシュした場合、Debianのサポートを受けることはできず(パッケージを使用しないため)、MongoDB開発者はおそらくそのランダムパッケージを気にしません。他のパッケージでもバグ修正を提供するのに十分です。 (MongoDB開発者が以下を専門としているという意味ではありません。いいえ気をつけて、私の言葉は可能開発者一部行商人可能気にしないでください。 )
- 場合によっては、ベンダーパッケージが特定の展開用にソフトウェアをパッケージ化する方法に関するいくつかのガイドラインに違反することがあるため、ディストリビューションで独自のパッケージを提供する必要があります。たとえば、いくつかのディストリビューションには、どのタイプのファイルをどのディレクトリに保存する必要があるのか、どのディレクトリが読み取り専用であるべきかなどの厳しい規則があります。
今、これから明らかになった特別なケース、Debian は実際に独自のパッケージの提供を中止しました。なぜならMongoDBは別のライセンスに変更されます。。このパッケージの最新バージョンmongodb
はDebian 9にあります。 Debian自体は、開発中のDebian 10、Debian 11、またはDebian 12でMongoDB用のパッケージを提供しなくなりました。ただし、Debian 9のパッケージはAMD64、ARM64、x86、およびPowerPC 64ビットリトルエンディアンで使用できますが、MongoDB開発者はDebian 9および10で利用可能なパッケージを提供しますが、AMD64でのみ使用できます。
一般的に言えばディストリビュータが独自のソフトウェアパッケージを提供する主な理由は、ディストリビュータがソフトウェアベンダと異なる懸念と制約を持っているため、ソフトウェアベンダが提供するソフトウェアパッケージは通常、これらの懸念と制約を満たすことができないためです。
ほとんどの配布パッケージは無保守ボランティアによって作成され、ほとんどの配布パッケージは良いより多くのパッケージを使用できますが、労働力が不足しています。作り方があったらできるソフトウェアベンダーから変更されていないパッケージを入手してディストリビューションに入れます。会議エネルギーを他の場所に集中するかわりにそうしなさい。
答え3
Distro管理者は、アップストリームで認識されない可能性がある独自のパッチセットを適用できます。これにより、このような状況が発生する可能性があります。
ディストリビューションには、提供するソフトウェアのバージョンに関する特定のポリシーがある場合があります。
Debian には関連イベントがたくさんありました。
- https://www.theregister.com/2021/12/10/debian_firefox_issues/
- https://en.wikipedia.org/wiki/Mozilla_software_rebranded_by_Debian
- https://www.jwz.org/blog/2016/04/i-would-like-debian-to-stop-shipping-xscreensaver/
オープンソースをよりよく理解すると、その美しさは止まりません。
Debian APT パッケージは、アプリケーション開発者が正式にサポートまたは承認しませんか?
経験的に、この質問に対する答えは「いいえ」で、これはDebianだけでなく他のディストリビューションにも当てはまります。
たとえば、次のことを確認してください。https://bugzilla.kernel.org
ディストリビューションのバグ追跡ツールを使用します。このバグは、アップストリームLinuxカーネルのバグを報告するために使用されます。
答え4
これは、MongoDB(または他のアプリケーション)に関連するAPTリポジトリのパッケージがアプリケーション開発者によって正式に承認されていないことを意味しますか?
もちろん。 「フリーソフトウェア」(GPLの意味)は、誰もがあなたのソースコードをインポートして修正し、あなたの承認や通知なしに再配布できることを意味します。
ほとんどすべてのオープンソースプロジェクトの開発者は、ユーザーにバグを報告する前に、利用可能な最新バージョンを試すように依頼します。この意味では、すべてのサードパーティパッケージは非公式です。うまくいくと役に立ち、そうでなければ開発者ではなくパッケージマネージャに報告する必要があります。