さまざまなディストリビューションがそのリポジトリで利用可能なパッケージにパッチを適用することがわかりましたが、なぜこれが必要なのか理解していませんでした。誰もが関連するオンライン文書を説明または教えてくれてありがとう。ありがとうございます。
答え1
何度も試してみましたが、今質問したことを理解したようです。
ディストリビューションが特定のソフトウェアをパッケージ化する前にパッチを適用するには、いくつかの理由があります。私は非排他的なリストを提供しようとします。他の考えられる理由があると確信しています。
この議論の目的に応じて、「アップストリーム」とは、ソフトウェア公式開発者の元のソースコードを意味する。
何らかの理由で、アップストリームパッチがマスターブランチにマージされていません(またはまだマージされていません)。通常、これはパッケージの配布パッケージ管理者が上記のパッチが価値あると感じたり、配布の継続性を維持するために必要であるためです(Webサーバーがあり、依存していたいくつかの
php
機能を作業していると仮定)。ルーチンの更新後)が機能しなくなったり、古いスタイルから設定ファイルを読み取ることができません。Distrosは、ファイルシステム層の標準化されたパターンを好む傾向があります
/etc/
。各ソフトウェア開発者は、正しい基準を構成することが何であるかについて独自のアイデアを持つことも、そうでない場合もあります。したがって、ディストリビューション管理者が最初にすべきことは、ディストリビューションの残りの部分に対応する階層パターンでその構成ファイルを構成して期待するようにビルドスクリプトをパッチすることです。構成トピックについて説明し続けると、最初の「パッチ」は、ディストリビューションの残りの部分で「すぐに」機能する基本構成ファイルのセットである傾向があります。つまり、エンドユーザーが展開後すぐに使用できるようにします。ジョブ構成を手動でソートする必要はありません。
これが私の考えです。おそらく他のものもあります。しかし、これがあなたにいくつかのアイデアを与えることを願っています。
答え2
@Shadurの答えに加えて、私の頭の上から:
- 一部のディストリビューションでは、他のパッケージによって提供される組み込みライブラリまたはファイルの使用をお勧めしません。たとえば、多くのソフトウェアにはJQueryが組み込まれていますが、Debianにはそれを提供するlibjs-jqueryパッケージがあります。
- アップストリームは、最新のライブラリへの依存関係など、以前のバージョンと互換性のない変更とセキュリティパッチを混在させることがよくあります。より正確な証明書を検証するために、ディストリビューション全体の広範な変更を防ぐために、パッケージ管理者はセキュリティパッチのみを選択することを選択できます。
- アップストリームソフトウェアは他のソフトウェアと競合する可能性があります。たとえば、パスは同じですが、コンテンツが異なるファイルを提供できます。この競合を解決するには、他の場所でファイルを見つけるためのパッチが必要な場合があります。
- アップストリームは、パッケージのインストールと削除時にエラーが発生しやすい他のソフトウェア構成ファイルに何かを手動で追加するための指示に満足することが多いため、ディストリビューションでは*.dディレクトリにあるフラグメントファイルを使用することを好むできます。
- アップストリームの一部はディストリビューションライセンスと互換性がないため、パッケージマネージャは問題のある部分にパッチを適用することを決定できます。
- アップストリームを使用すると、他のソフトウェア(Apacheなど)に固有のパスが想定されますが、管理者はそのパスが通常のWebサーバーをサポートしたいと考えています。
- 場合によっては、アップストリーム開発者が通信しなくなり、ソフトウェアが中断され、正しく実行されるようにパッチが必要な場合があります。
答え3
答え4
最も緊急な理由:ビルドエラーです。
- おそらく、アップストリームが問題を解決するのを待ちたくないかもしれません(修正が明白であると仮定した場合)。
- 明らかに、必要なものであれ、何らかの理由でアップストリームで修正を受け入れないことがあります。
- たぶんメンテナンスはまったくありません。