Distri - 高速パッケージ管理テクノロジをテストするためのディストリビューション

Michael Stapelberg 氏、i3wm タイル ウィンドウ マネージャーの作者であり、元は現役の Debian 開発者 (約 170 のパッケージを保守) 発展する 実験的な配布 ディストリビューション および同じ名前のパッケージマネージャー。このプロジェクトは、パッケージ管理システムのパフォーマンスを向上させる可能な方法の探求として位置づけられており、ディストリビューションを構築するためのいくつかの新しいアイデアを具体化しています。パッケージマネージャーのコードはGoで書かれており、 によって配布 BSD ライセンスに基づいて。

このディストリビューションのパッケージ形式の主な特徴は、パッケージが圧縮された tar アーカイブではなく SquashFS イメージの形式で配信されることです。 AppImage や Snap 形式と同様に、SquashFS を使用すると、パッケージを解凍せずにパッケージを「マウント」できるため、ディスク領域が節約され、アトミックな変更が可能になり、パッケージのコンテンツに即座にアクセスできるようになります。同時に、従来の「deb」形式と同様に、配布パッケージには、他のパッケージとの依存関係によってリンクされた個々のコンポーネントのみが含まれます (ライブラリはパッケージ内で複製されず、依存関係としてインストールされます)。言い換えれば、distri は、Debian などの従来のディストリビューションのきめ細かなパッケージ構造と、マウントされたコンテナーの形式でアプリケーションを配信する方法を組み合わせようとしています。

distri 内の各パッケージは、読み取り専用モードで独自のディレクトリにマウントされます (たとえば、zsh パッケージは「/ro/zsh-amd64-5.6.2-3」として利用可能です)。これにより、セキュリティにプラスの効果があり、保護されます。偶発的または悪意のある変更を防止します。 /usr/bin、/usr/share、/usr/lib などのサービス ディレクトリの階層を形成するには、特別な FUSE モジュールが使用されます。これは、インストールされているすべての SquashFS イメージの内容を XNUMX つの全体に結合します (たとえば、/ ro/share ディレクトリは、すべてのパッケージの共有サブディレクトリへのアクセスを提供します)。

パッケージ 基本的にディストリクトで 配達されました インストール中に呼び出されるハンドラーから (フックやトリガーはなし)、異なるバージョンのパッケージを共存させることができるため、パッケージの並列インストールが可能になります。提案された構造は、パッケージ マネージャーのパフォーマンスを、パッケージがダウンロードされるネットワーク スループットにのみ制限します。パッケージの実際のインストールまたは更新はアトミックに実行され、コンテンツの複製は必要ありません。

各パッケージは独自のディレクトリに関連付けられ、システムでは 1 つのパッケージの異なるバージョンの存在が許可されるため、パッケージをインストールする際の競合が排除されます (パッケージのより新しいリビジョンを含むディレクトリの内容がユニオン ディレクトリに含まれます)。パッケージのビルドも非常に高速で、別のビルド環境にパッケージをインストールする必要はありません (/ro ディレクトリから必要な依存関係の表現がビルド環境で作成されます)。

サポートされています 「distri install」や「distri update」などの一般的なパッケージ管理コマンドと、情報コマンドの代わりに、標準の「ls」ユーティリティを使用できます(たとえば、インストールされているパッケージを表示するには、「」内のディレクトリのリストを表示するだけです) /ro」階層に移動し、ファイルがどのパッケージに含まれているかを確認するには、このファイルからのリンクがどこにつながっているかを確認してください)。

実験用に提案されたプロトタイプ配布キットには、次のものが含まれます。 1700パッケージ そして準備完了 設置イメージ インストーラーが付属しており、メイン OS としてのインストールと、QEMU、Docker、Google Cloud、VirtualBox での実行の両方に適しています。暗号化されたディスク パーティションからの起動と、i3 ウィンドウ マネージャー (ブラウザとして Google Chrome が提供されます) に基づいてデスクトップを作成するための標準アプリケーションのセットをサポートします。 提供された ディストリビューションの組み立て、パッケージの準備と生成、ミラーを介したパッケージの配布などのための完全なツールキット。

出所: オープンネット.ru

コメントを追加します