UbuntuがSnappyパッケージに移行するのはなぜですか?


127

Ubuntuが.debパッケージをダンプして.snappyパッケージに移行する理由 (少なくとも今のところ、彼らは通常の配布用に.debパッケージを保持しています)。.debはすでに最も人気のあるパッケージです。

これにより、Snappyパッケージ形式が何であるかがわかります。しかし、既存のdebパッケージはどうなりますか?Snappyに移行することで明確な利点はありますか?それは痛みの価値がありますか?


1
リンクはボルケンある
Y30

回答:


146

Snappyは、デスクトップオペレーティングシステムとしてのLinuxの基本的な問題の1つを解決しようとする試みであり、その問題はパッケージの可用性とパッケージの配布です。ただし、Snappyはdebsを置き換えることを完全には意図していません。スナップとDebsは互いに連携して機能します。

私はLinux愛好家であり、Linuxアプリケーションのプロジェクトマネージャーです。私はLinuxシステム全体を愛していますが、パッケージ配布の現状を軽deしています。Snappyは、この根本的な問題を解決することを目的としています。

Linuxでは、パッケージは大部分がディストリビューション固有です(Debianベースのさまざまなシステムで動作するDEBを1つ作成することは可能ですが、何らかの制限があります)が、そのパッケージはディストリビューションバージョン固有ではありません。

Ubuntu 16.04用にdebパッケージを作成すると、そのパッケージはUbuntuのどのバージョンでも動作しません。14.04、15.04、15.10なども作成する必要があります。これらはまさにUbuntuのdebsです。Debian用に作成する必要もあります。次に、Fedora 21、22、23などのRPMを作成する必要がありますが、これらのRPMはopenSUSEをカバーしていません。

これは、新しいバージョンのアプリケーションをリリースし、ディストリビューションのメンテナーがリポジトリにそれを含めるのを待たない場合(通常はばかげた時間がかかります)、Linuxディストリビューションの大部分をカバーするために20以上のパッケージを提供する必要があることを意味しますそれでも、それがすべてをカバーするわけではありません。

Ubuntuのスナップは、スナップをサポートするUbuntuのすべてのバージョンで実行される1つのスナップを作成する方法を提供します。ディストリビューションバージョン固有ではなくなりました。

スナップは他のディストリビューションに統合できます。ディストリビューション固有ではない可能性があります。

スナップは、パッケージ開発者によって維持されることを目的としたレポジトリで制御されるため、新しいバージョンをリリースする場合、誰も待つ必要はありません。

基本的に、Linuxパッケージの配布について嫌いなものはすべて、Snappyによって解決されます。これらの問題はAppImagesFlatpaksによっても解決されることに注意することが重要です

TL; DR

Linuxパッケージの配布は、開発者とユーザーの両方にとってひどいものです。Snappy(AppImagesおよびFlatpaksも)は、Linuxベースのシステムでこの基本的な問題を解決することを目的としています。


この質問は、実際に移行する理由に関するものですが、Snapsとは何か、またその仕組みについてもっと知りたいと思っている人がいれば。このビデオは、構造を詳細に説明するために作成しました。


13
ええ、Fedora、Debian、Ubuntuの多くのバージョンをサポートする人は誰もいません。16.04が出るまでに、15.04はEOLです。Fedora 23がリリースされるまでに、F21の寿命は1か月未満で、リリースをスキップするのに十分な長さです。それは重要ではありません。ベースのRPM仕様ファイルまたはベースのDebianパッケージが作成されると、他のディストリビューションは微調整されたバージョンになり、新しいリリースごとにビルドするのはJenkinsの仕事です。
ジョンフランクリン

10
Ubuntuパッケージは、その多くのバージョン(14.04、15.10、16.04)向けに作成されており、一部のバージョンは12.04などの古いLTSを引き続きサポートしています。|| FedoraにはLTSがありませんので、サポートするバージョンは少なくなりますが、少なくとも2つのバージョンがサポート可能な3つのバージョンがあります。|| あなたにとってより良い音は何ですか?A. 1つのディストリビューションに対して同じアプリケーションの各バージョンの複数のパッケージを作成し、複数のディストリビューションに対して実行します。またはB.アプリのバージョンごとに1つのスナップを作成します。これは、どのディストリビューションでも、どのバージョンのディストリビューションでも動作します。ええ、私はそのシナリオでスナップに投票します。
マイケルトンネル

4
@ user447607 SnapsとSnappyが何であるかを誤解しています。多くの冗長性はなく、ランタイムがあり、スナップを他のスナップに依存してスペースを節約するオプションがあります。実際、これはすでに可能です。Snappyはスナップを処理する別のパッケージ管理システムであり、aptは引き続きDEBに関係しています。スナップはDEBに代わるものではなく、代わりにDEBを強化するため、両方の方法をカバーするハイブリッドアプローチを実現します。実際、スナップは既存のDEBを介して自動的に生成できます。
マイケルトンネル

2
@konung Dockerは、Snapsがシステムコアコンポーネントと統合するだけでなく、純粋なコンテナー化です。たとえば、Dockerを使用するには、コンテナにすべてを含める必要があります。ただし、スナップには必要なものだけを含める必要があり、スナップの外側を見て他のものを利用することができます。Dockerには実際の更新メカニズムはありませんが、SnapsはDebianのAPTと同様のパッケージ管理システムを利用しているため、Snapsのインフラストラクチャは非常に優れています。元の投稿でリンクしたビデオをチェックすることをお勧めします。すぐに更新版を作成する予定です。
マイケルトンネル

6
@konungスナップはコンテナではありません。たとえば、多くの人はそれらをDockerと比較しますが、DockerはSnapがそうではない真のコンテナーです。スナップはコンテナに似ていますが、閉じ込めの外の例外を許可するため、完全なコンテナではありません。たとえば、settings / configs / data stuffは、/ homeフォルダー内のSnapの外部に保存されます。これにより、同じデータ/構成をすべて共有するのと同じ数のスナップのバージョンを使用できます。
マイケルトンネル

20

簡単です。Snappyパッケージには、必要なすべてのファイルが含まれます。ここで、.debパッケージには他のパッケージへの依存関係があります。

マイナス面は、すべてのファイルが含まれているため、snappyが大きいことです。しかし、大きな利点は、他のパッケージで問題が発生しないことです。このパッケージを削除しても、依存関係の欠落によって他のパッケージが影響を受けることはありません。


7
また、セキュリティの悪夢を意味します。ああ、私が間違っていることを証明してください...正しいことはとても恐ろしいからです。
ユルゲンA.エアハルト

27
本質的に、彼らはWindowsパスを採用しています。皮肉なことに、これは過去にLinuxユーザーによってm笑されていました。
ピティコス

1
ちょっと@JürgenA.Erhard、私が理解しているように、各パッケージには暗号化などの独自のライブラリがありますので、1つを検証する(つまり自己コンパイルする)代わりに、基本的にすべてのパッケージを個別に処理する必要があります「セキュリティの悪夢」?
イリヤ

修正:ランタイムとして機能するコアスナップがあるため、「すべての必要なファイルを含む」は正確ではありません。ただし、これは元の回答の後に追加されたため、当時は正しいものでしたが、それ以来多くの変更が加えられています。
マイケルトンネル

7

Snappy Personalは、パッケージ管理/更新に対する新しいアプローチであり、より速く、より信頼性が高く、トランザクションがあり、セキュリティが強化されています。

少なくとも1つのデスクトップスピンのSnappy-UbuntuのDesktop-Nextスピンを.debからSnappy Personalに切り替える計画です。

.debは引き続き存在し、通常のユーザーは.debをsnappyに変換するまでに定期的に使用できます。

Snappyは、現在コアOsとしてsnappyを使用しているioTのパッケージ管理の概念を統一するために使用されます。さらに、Snappyは更新全体を改善する方法を提供し、更新/アップグレード中に問題を取り除きます。これは、更新がイメージ全体の概念を使用するためです。

詳細については、これらの記事をご覧ください。

http://www.webupd8.org/2015/04/ubuntu-desktop-to-eventually-switch-to.html

http://www.itworld.com/article/2914850/linux/is-ubuntu-moving-away-from-deb-packages-here-is-the-complete-story.html

非常に多くの質問に答えるubuntu on airのQAビデオもあり ますhttps://youtu.be/lHO8j8uo5Z4


9
なぜ下位互換性を持つ.debバージョン2パッケージを作成できないのですか?なぜLinuxコミュニティで分裂するのか。今のところ、完全なフロップでない限り、Snappyにゆっくり移行する計画です。
ヴィシュヌデフK

彼らは、SnapOをコアOSとして使用しているioTのパッケージ管理の概念を統一したいと考えています。しかもそれは、更新がちょうど一枚であることを意味し、そのための手立てが失敗しない画像全体の概念を使用するので、アップグレード/アップデートでより良い方法を提供し、更新しながら、問題を取り除くてきぱき
Maythuxを

3
Linuxでパッケージ化するための多種多様な方法(既にサードパーティのプログラムで問題を引き起こしている)で十分に悪いので、別の方法は単により大きな混乱を引き起こします:-/
Wilf

@Maythux。ioTとは何ですか?
-TRiG

4
@Maythux xkcd.com/927
CVn

4

他の人が使用する製品、つまり製品を作成することを考えているのであれば、きちんとしたUbuntu Coreへの移行を検討してください。

ソフトウェアがで配信されるスナップその特徴を与え、我々は、元の作成者が意図したとおりに、インストールとアップグレードがすべてのシステム上で動作するという確信を持つことができます。他の特徴は、分離された実行やシステムと通信してインストールされたスナップを構成するためのクリーンなインターフェイスなどのセキュリティです。

そのようなことを達成するために、スナップはdebianパッケージとは大きく異なります。

  • スナップは、隔離されたシステムで決定された場所に住んでいますが、debianパッケージはその場所全体にファイルを拡散できます。
  • スナップのメンテナースクリプトはありません。

デスクトップをUbuntu Coreに置き換える予定がある場合、使用するかどうかの元の質問に戻って、通常のUbuntuデスクトップを使用することをお勧めします。Ubuntu Core、私は個人的に「なし」ディストリビューションと呼んでいますが、それはそれだけではありませんが、何かを提供するための非常に優れた構成要素を提供し、これが最近のIoTで人気がある理由です。


3
言い換えれば、それはまさにウィンドウが何をするかのように?
ヴィシュヌデフK

1
それは幅広い質問です。Windowsは特に何をしますか?
セルギウス

4
WindowsにVLCをインストールしています。スペースを占有するために必要なすべてのパッケージをインストールしています。Linuxのように、持っていないパッケージのみを取得します。更新とhddの使用に関しては非常に便利です。
ヴィシュヌデフK

2
同様に、はい。をapk電話にインストールするのと同じです。アプリケーションは、必要に応じて依存関係を進化させることができます。ただし、frameworkスナップを使用するなど、これを分割する方法がありますが、これには厳密なセキュリティレビューが必要です。Windowsとの違いは、インストーラーがどこにいても着陸できる可能性がないことです。
セルギウス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.