スナップパッケージングの仕組みを(広く)理解しています。しかし、「snap」、「snapd」、「Snappy」のそれぞれは正確に何を指しているのでしょうか?
「スナップ」は多くのもの(パッケージ形式、端末コマンドなど)を指し、「スナップ」は特定のツールであり、「スナッピー」はもはや使用されていないようです[1] [2]?
[1]:私が見つけた唯一の公式の言及は、このUbuntuデスクトップページのタイトルとURLでした。 https://www.ubuntu.com/desktop/snappy
[2]:私が思い出したように、Ubuntu CoreはかつてSnappy Ubuntu Coreと呼ばれていましたが、もはやそうではありません: https://developer.ubuntu.com/core
meta/snap.yaml
ファイルを含むsquashfsイメージとして定義された特定のパッケージ形式。snap
コマンドも含まれています。これは、snapdとの通信に使用されます(ユーザーが新しいスナップのインストールなどを要求するため)。このシステム全体は、「スナッピー」と呼ばれることもあります。紛らわしいことに、「スナップクラフト」と呼ばれることも増えています。スナップは通常のUbuntu(および実際にはさまざまな他のLinuxディストリビューション)で実行されますが、Ubuntu Coreはスナップに完全に基づいたオペレーティングシステムです(apt
なし)。残念ながら、Ubuntuの基本的なrootfsである「ubuntuコア」はすでに存在していたため、区別するために「snappy ubuntuコア」と呼ばれていました。古いコアは最近 buntu base に名前が変更されたため、最近では「snappy ubuntu core」が少なくなっています。
Snappyは、もともとUbuntu電話オペレーティングシステム用にCanonicalが設計および構築したソフトウェア展開およびパッケージ管理システムです。 「snaps」と呼ばれるパッケージと「snapd」を使用するためのツールは、さまざまなLinuxディストリビューションで機能するため、アップストリームのソフトウェアを展開する際に不可知論的です。このシステムは、電話、クラウド、モノのインターネット、デスクトップコンピューティングで動作するように設計されています。
ソフトウェアの「スナップ」アプリケーションパッケージは自己完結型であり、さまざまなLinuxディストリビューションで機能します。これは、APTやRPMなどの従来のLinuxパッケージ管理アプローチとは異なり、アプリケーションの更新と遅延のためにLinuxディストリビューションごとに特別に調整されたパッケージが必要です。スナップ自体は外部ストア(「アプリストア」)に依存せず、任意のソースから取得できるため、アップストリームソフトウェアの展開に使用できます。 UbuntuおよびLinuxの他のバージョンにスナップが展開されると、Ubuntuアプリストアがデフォルトのバックエンドとして使用されますが、他のストアも有効にできます。
開発者はスナップを使用して、コマンドラインツール、バックグラウンドサービス、デスクトップアプリケーションを作成できます。スナップアプリケーションでは、アトミック操作またはデルタによるアップグレードが可能です。
2016年6月、snapdは幅広いLinuxディストリビューションに移植され、すべてのスナップショットUbuntu Coreだけでなく、あらゆるLinuxディストリビューションでスナップを使用できるようになりました。 snapdはArch Linux、CentOS、Debian、Fedora、Gentoo Linux、OpenWrt、openSUSE、Red Hat Enterprise Linuxでも利用可能または進行中です。各ディストリビューションは、スナップメタデータを解釈して、ディストリビューション固有の方法でスナップのセキュリティまたはその他の期待を実装できます。