apt
エンドユーザーとデフォルトの低レベルパッケージマネージャ(yast
など)pacman
の間のインタフェースとして機能する統合パッケージマネージャがないのはなぜですか?
するのが難しくて実用的ですか、それともそれを不可能にする実質的な障害がありますか?
答え1
まずあります。問題は、統合パッケージマネージャがないということではなく、真剣に10があるということです。
私が好きなものを例に挙げましょうpoldek
。複数の異なるディストリビューションで実行し、1つrpm
以上のパッケージを管理できるパッケージ管理のためのユーザーフロントエンドdeb
。 Poldekは、rpmが実行する操作を実行せずに(rpmに委ねる)、ユーザーがすべての複雑な問題を特定する必要なしに正しいコマンドのみを送信します。
しかし、問題はそこで終わりません。ユーザーのフロントエンドがどのように見えるのか、どのように機能するのか、どのオプションを公開するのかについての考えは、人によって異なります。だから他の人が自分で書いた。実際、今日の一般的なディストリビューションで人々が使用しているパッケージのフロントエンドマネージャの多くは、複数のバックエンドを処理できます。
しかし、最終的に問題(または利点)は、誰もが喜ばせようとしますが、本当に誰も幸せにすることができないメタファッションではなく、人々が自分が望むように正確に機能するのが好きだということです。これがまさに私たちがそもそも数多くのディストリビューションを持っている理由です。これが、私たちが非常に多様なデスクトップ環境とウィンドウマネージャを持っている理由です(実際、これらは実際には他のタイプです)。
ユニバーサルパッケージを作成したり、すべてのパッケージを理解する管理者を置いたり、あるパッケージを別のパッケージに変換するAPIを持つことに関するいくつかの優れた提案がまだありますが...Unixはその哲学に従って使用されるときに最適です...各ツールは1つのことをしてうまくいきます。。
複数のタスクを実行したいツールがあるたびに、そのタスクの1つでパフォーマンスが低下します。たとえば、poldek
debパッケージの依存関係を処理することはほとんどありません。
答え2
簡単に言えば、すべてのディストリビューションはパッケージ管理に異なるアプローチを使用するためです。彼らは単に互換性がありません。 Ubuntuに最適な管理戦略は、Archなどには適していません。 「ユニバーサル」(配布に依存しない)パッケージマネージャはユーザーインターフェイスの追加層にすぎず、各ディストリビューションの特定の管理者のようには機能しません。
だからあなたの言葉通りなら。するのが難しくて実用的ではありません- しかし、ほとんど誰もそれから利益を得ることができないからです。
答え3
あなたが描いたものは、
エンドユーザーとデフォルトの下位レベルのパッケージマネージャ間のインターフェイスとして機能します。
私にとっては、PackageKitに少し似ているようです。それは、
PackageKitは、コンピュータにソフトウェアを簡単にインストールして更新できるように設計されたシステムです。主な設計目標は、さまざまなディストリビューションで使用されるすべてのソフトウェアグラフィックツールを統合し、いくつかの最新技術(PolicyKitなど)を使用してプロセスを悪化させることです。
編集する: サポートされているバックエンドのリストについてはこちらをご覧ください。 編集2:役に立たないコメントが削除されました。
答え4
まず、「Linux」はオペレーティングシステムではないことを理解してください。カーネルです。パッケージマネージャはカーネルレベルの概念ではなく、オペレーティングシステムレベルの概念です。したがって、Linuxに統合パッケージマネージャを提供するように要求することは実際には意味がありません。
ただし、Linuxカーネルを使用するさまざまなオペレーティングシステムに互換性のあるパッケージマネージャがない理由を尋ねる場合は、WindowsとMacに互換性のあるパッケージマネージャがない理由を尋ねることをお勧めします。または他の2つのオペレーティングシステム。
さまざまなオペレーティングシステムはさまざまなユーザーの要件を満たし、パッケージマネージャはその一部です。すべてのLinuxディストリビューションに同じウィンドウマネージャがないのはなぜですか?それとも、同じソフトウェアがすべてプリインストールされていますか?
回答:人によってプレイスタイルが異なります。