zypper infolibzyppの情報を表示するコマンド | |
| 初回リリース | 2006年1月14日[1] |
|---|---|
| 安定リリース | 17.35.11 [2] 1.14.77 [3]
/ 2024年9月12日2024年9月6日 |
| リポジトリ | https://github.com/openSUSE/libzypp https://github.com/openSUSE/zypper |
| 書かれた |
|
| オペレーティング·システム | リナックス |
| タイプ | パッケージマネージャー |
| ライセンス | GNU 一般公衆利用許諾書 |
| Webサイト | en.opensuse.org/Portal:Libzypp |
ZYpp (またはlibzypp、「Zen / YaST パッケージ パッチ パターン 製品」[6] ) は、YaST 、Zypper、 openSUSEおよびSUSE Linux Enterprise用のPackageKitの実装などのLinux アプリケーションを動かすパッケージ マネージャエンジンです。[7]より基本的なパッケージ マネージャとは異なり、パッケージの依存関係を計算するための満足度ソルバーを提供します。[8]これは、 SUSEが後援し、 GNU General Public License v2 以降の条件に基づいてライセンスされる無料のオープン ソース ソフトウェアプロジェクトです。ZYpp は主にプログラミング言語C++で実装されています。
Zypper は、ローカルまたはリモート (ネットワーク) メディアのソフトウェア パッケージをインストール、削除、更新、およびクエリするための、ZYppパッケージ マネージャーのネイティブコマンドライン インターフェイスです。これに相当するグラフィカルなツールは、 YaSTパッケージ マネージャー モジュールです。openSUSEでは、バージョン 10.2 beta1 以降で使用されています。openSUSE 11.1 では、Zypper はバージョン 1.0 に達しました。2009 年 6 月 2 日、Ark Linux は依存関係ソルバーのレビューを完了し、老朽化したAPT-RPM をZYpp とそのツールに置き換えることを選択したことを発表しました。 [9]は、その最初のディストリビューションです。Zypper は、モバイル Linux ディストリビューションMeeGo、Sailfish OS、およびTizenにも含まれています。
歴史
目的
Novell は、 2003 年にXimianとSuSE GmbHを相次いで買収した後、これまで Novell で使用されていた 2 つのソリューションであるYaSTパッケージ マネージャとRed Carpet という2 つのパッケージ管理システムを、ベスト オブ ブリード アプローチで統合することを決定しました。2005 年当時に利用可能だった既存のオープン ソース ツールとその成熟度を見ると、要件を満たすものはなく、Ximian と SUSE によって開発された既存の Linux 管理インフラストラクチャ ソフトウェアとスムーズに連携できるものはありませんでした。そのため、既存のツールから最良のアイデアを得て、新しい実装に取り組むことが決定されました。その結果生まれたライブラリである Libzypp は、SUSE ディストリビューションのソフトウェア管理エンジンおよびNovell ZENworks Management スイートの Linux Management コンポーネントとなる予定でした。
初期の頃
Libzypp のソルバーは、インストールされたシステムのパッケージを更新するために書かれた Red Carpet ソルバーからの移植版です。これを完全なインストール プロセスに使用すると限界に達し、弱い依存関係やパッチのサポートなどの拡張機能を追加すると、脆弱で予測不可能なものになりました。[10]この ZYpp ソルバーの最初のバージョンは、ZMD デーモンと連携した同社のエンタープライズ製品では満足のいく動作をしましたが、2006 年 5 月にリリースされた openSUSE 10.1 リリースでは、システム パッケージが期待どおりに動作しませんでした。2006 年 12 月、openSUSE 10.2 リリースでは、再検討された ZYpp v2 を使用して、以前のリリースのいくつかの欠陥が修正されました。その後、ZMD は 10.3 リリースから削除され、同社のエンタープライズ製品専用に確保されました。ZYpp v3 は、既存の他のパッケージ マネージャーと同等の比較的優れたパッケージ マネージャーを openSUSE に提供しましたが、実装にいくつかの欠陥があり、速度パフォーマンスが大幅に制限されていました。
SATソルバーの統合
libzyppで改善が必要だったのは依存性ソルバーの速度でした。libsolvは改訂BSDライセンスの下で作成され、リリースされています。[11]
Optimal Package Install/Uninstall Manager (OPIUM) [12] [13]や MANCOOSI [14]などのプロジェクトは、 SATソルバーを使用して依存関係の解決の問題を解決しようとしていました。Advanced Packaging Tool (APT)などの従来のソルバーは、許容できない欠陥を示すことがあります。SATアルゴリズムをZYppスタックに統合することが決定され、使用されたソルバーアルゴリズムは、人気のあるminisatソルバーに基づいていました。[15]
openSUSE 11.0 の SAT ソルバーの実装は、2 つの主要な独立したブロックに基づいています。
- データ ディクショナリアプローチを使用して、パッケージと依存関係情報を保存および取得します。新しい solv 形式が作成され、リポジトリが文字列ディクショナリ、関係ディクショナリ、およびすべてのパッケージ依存関係として保存されます。複数の solv リポジトリの読み取りとマージには、わずか数ミリ秒しかかかりません。
- パッケージの依存関係を計算するために、満足度を使用します。ブール満足度問題は、多くの模範的なソルバーが利用できる、十分に研究された問題です。パッケージの解決の複雑さは、SAT ソルバーが使用される他の領域と比較して非常に低いため、非常に高速です。また、複雑なアルゴリズムを必要とせず、問題が解決できない理由の証明を計算することで、理解しやすい提案を提供できます。
数か月の作業を経て、SATソルバーを統合したこの4番目のZYppバージョンのベンチマーク結果は非常に有望であり、YaSTとZypperは速度とサイズの点で他のRPMベースのパッケージマネージャーを上回っています。[16] [17]
参照
参考文献
- ^ 最も古い変更履歴
- ^ “リリース 17.35.11”. 2024年9月12日. 2024年9月26日閲覧。
- ^ “リリース 1.14.77”. 2024年9月6日. 2024年9月26日閲覧。
- ^ abcdefghij 「Open Hub の zypp オープンソース プロジェクト: 言語ページ」。Open Hub。2024年5 月 2 日閲覧。
- ^ abcdefg 「GitHub - openSUSE/zypper: 世界で最も強力なコマンドラインパッケージマネージャー」。GitHub 。2024年5月2日閲覧。
- ^ 「頭字語 - openSUSE Wiki」.
- ^ 「Libzypp ドキュメント」。
- ^ 「Libzypp プロジェクトのホームページ」。
- ^ 「Linux パッケージング システムをもう一度見る」 2009 年 6 月。
- ^ 「Michael Schroeder、satsolverの歴史」。GitHub。2021年11月26日。
- ^ 「libsolv on github」。GitHub 。 2021年11月26日。
- ^ Tucker, Chris; Shuffelton, David; Jhala, Ranjit; Lerner, Sorin (2007)、「OPIUM: OPtimal Package Install/Uninstall Manager」(PDF)、第 29 回国際ソフトウェア エンジニアリング会議、ICSE'07。
- ^ EDOS プロジェクト ワークパッケージ 2 チーム (2006 年 3 月)、「ソフトウェア依存関係の正式な管理に関するレポート」、EDOS プロジェクト成果物ワーク パッケージ 2、成果物 2、2006 年 6 月 19 日のオリジナルからアーカイブ、 2009 年 6 月6 日に取得。
{{citation}}: CS1 maint: 数値名: 著者リスト (リンク) - ^ Le Berre, Daniel; Parrain, Anne (2008)、「依存関係管理とそれ以降の SAT テクノロジについて」(PDF)、ASPL 2008、Limerick、Mancoosi.org。
- ^ 「Minisat.se」.
- ^ 「yum と ZYpp の速度 / メモリ使用量」 2008 年 5 月 16 日. 2008 年10 月 23 日閲覧。[永久リンク切れ]
- ^ 「openSUSE 11.0 のプレビュー: パッケージ管理、Duncan Mac-Vicar 氏による」 2008 年 6 月 6 日。 2017 年10 月 15 日閲覧。
外部リンク
- 公式サイト
- openSUSE の新しいパッケージ管理のプレビュー
- ディストリビューションウォッチ
