Linux用のトップ3オープンソースクロスディストリビューションパッケージ管理システム


Linuxディストリビューションが異なれば、従来のパッケージ管理システムも異なるため、Linuxシステムでのパッケージ管理やソフトウェアのインストールは、特に初心者(新しいLinuxユーザー)にとっては非常に困惑する可能性があります。ほとんどの場合、その中で最も混乱する部分は、パッケージの依存関係の解決/管理です。

たとえば、DebianおよびUbuntuなどのその派生物は、DPKGパッケージ管理システムを使用して管理される .deb パッケージを使用し、RHEL(Red Hat Enterprise Linux)ファミリーのディストリビューションは .rpm を使用します。 RPMパッケージ管理システムを使用して管理されるパッケージ。

過去数年間、Linuxエコシステムでのパッケージ管理と配布は、ユニバーサルまたはクロス配布パッケージ管理ツールの台頭後、同じではありませんでした。これらのツールを使用すると、開発者はソフトウェアまたはアプリケーションを複数のLinuxディストリビューション用に単一のビルドからパッケージ化できるため、ユーザーはサポートされている複数のディストリビューションに同じパッケージを簡単にインストールできます。

この記事では、Linux用のトップ3のオープンソースユニバーサルまたはクロスディストリビューションパッケージ管理システムを確認します。

1.スナップ

Snapは、UbuntuLinuxのメーカーであるCanonicalによって開発された人気のあるオープンソースのアプリケーション/パッケージ形式およびパッケージ管理システムです。現在、Ubuntu、Debian、Fedora、Arch Linux、Manjaro、CentOS/RHELなどのいくつかのLinuxディストリビューションがスナップをサポートしています。

スナップアプリケーションは、スナップをサポートするLinuxディストリビューションに簡単にインストールできるように、すべての依存関係(依存関係なし)がバンドルされたクロスディストリビューションアプリケーションです。スナップは、デスクトップ、サーバー、クラウド、またはIoT(モノのインターネット)で実行できます。

アプリケーションを作成またはスナップするには、snapcraft、フレームワーク、およびスナップを作成するための強力なコマンドラインツールを使用します。 Linuxでスナップをインストールして使用するには、Linuxシステムが .snap ファイルを操作できるようにするバックグラウンドサービスであるsnapd(またはsnappyデーモン)をインストールする必要があります。スナップの実際のインストールは、snapコマンドラインツールを使用して実行されます。

スナップは制限(異なる構成可能な制限レベル)で実行されるため、スナップはデフォルトで安全です。重要なのは、制限外のシステムリソースにアクセスする必要があるスナップは、スナップの要件に基づいてスナップの作成者が慎重に選択した「インターフェース」を採用していることです。これにより、基本オペレーティングシステムの安定性と柔軟性を損なうことなくアプリケーションを実行できます。

さらに、スナップパッケージ管理システムは、チャネル(トラック、リスクレベル、およびブランチで構成され、それらによって細分化される)と呼ばれる概念を使用して、スナップのどのリリースがインストールされ、更新のために追跡されるかを決定します。スナップは自動更新も行います。これは手動で管理できるプロセスです。

スナップを見つけてインストールするには、スナップストア(開発者がスナップを共有できる場所)でスナップを検索するか、ガイドを使用してスナップの詳細を読んでください。

2. FlatPak

Flatpakは、Linuxディストリビューションでデスクトップアプリケーションを配布するためのよく知られたオープンソースフレームワークです。独立したコミュニティによって開発されたFlatpakを使用すると、単一のアプリケーションビルドをインストールして、事実上すべてのLinuxディストリビューションで実行できます。 Fedora、Ubuntu、RHEL、CentOS、OpenSUSE、Arch Linuxを含む合計25のディストリビューションをサポートし、RaspberryPiでも実行できます。

Flatpakのランタイムは、アプリケーションが活用できる一般的なライブラリのプラットフォームを提供します。ただし、依存関係を完全に制御することも非常に簡単になり、アプリケーションの一部として独自のライブラリをバンドルできます。

Flatpakには、使いやすいビルドツールが付属しており、開発者がアプリケーションをビルドおよびテストするための一貫した環境(デバイス間で同じで、ユーザーが既に持っているものと同様)を提供します。

flatpakの便利な側面は、同じフラットパックを同じディストリビューションの異なるバージョンで実行できる上位互換性です。これには、開発者がまだリリースされていないバージョンも含まれます。また、新しいバージョンのLinuxディストリビューションとの互換性を維持するよう努めています。

開発者の場合、すべてのディストリビューションにアプリケーションを配布するための集中型サービスであるFlathubを介して、Linuxユーザーがアプリケーションを利用できるようにすることができます。

3. AppImage

AppImageは、開発者がアプリケーションを1回パッケージ化できるオープンソースのパッケージ形式でもあり、すべての主要なLinuxデスクトップディストリビューションで実行されます。以前のパッケージ形式とは異なり、AppImageでは、パッケージをインストールする必要はありません。使用するアプリケーションをダウンロードして実行可能にし、実行するだけです。とても簡単です。ほとんどの32ビットおよび64ビットのLinuxデスクトップをサポートします。

AppImageには多くの利点があります。開発者にとっては、Linuxディストリビューションやバージョンのユーザーが実行されているかどうかに関係なく、できるだけ多くのユーザーにリーチできます。ユーザーの場合、すべてのAppImageがすべての依存関係(1つのアプリu003d 1つのファイル)にバンドルされているため、アプリケーションの依存関係について心配する必要はありません。 AppImageを使用すると、新しいバージョンのアプリケーションを試すことも簡単です。

多数のデスクトップシステムをサポートし、通常、システムを破壊する可能性のあるアプリケーションのインストールをユーザーがブロックするシステム管理者にとって、心配する必要はもうありません。 AppImageを使用すると、ユーザーがアプリを実行するためにアプリをインストールする必要がないため、システムはそのまま残ります。

ユニバーサルまたはクロスディストリビューションパッケージフォーマットは、Linuxエコシステムでソフトウェアを構築および配布するための次世代テクノロジーです。ただし、従来のパッケージ管理システムは依然としてその基盤を維持しています。あなたはどう思いますか?コメントセクションで共有してください。