2023 年の Linux 向けユニバーサル パッケージ マネージャー ベスト 3
Linux システムでのパッケージ管理やソフトウェアのインストールは、Linux ディストリビューションごとに異なる従来のパッケージ管理システムを使用しているため、特に初心者 (新しい Linux ユーザー) にとっては非常にわかりにくい場合があります。ほとんどの場合、最も混乱するのはパッケージの依存関係の解決と管理です。
たとえば、Ubuntu や Linux Mint などの Debian ベースのディストリビューションは、dpkg パッケージ管理システムを通じて管理される .deb
パッケージを利用します。
一方、CentOS Stream、Rocky Linux、AlmaLinux などの RHEL ベースのディストリビューションは .rpm
を使用します。パッケージは、rpm パッケージ管理システムを使用して管理されます。
ここ数年、ユニバーサル パッケージ管理ツールやクロスディストリビューション パッケージ管理ツールの台頭により、Linux エコシステムにおけるパッケージ管理と配布はかつてないほど変化しています。
これらのツールを使用すると、開発者は単一のビルドから複数の Linux ディストリビューション用にソフトウェアやアプリケーションをパッケージ化できるため、ユーザーはサポートされている複数のディストリビューションに同じパッケージを簡単にインストールできます。
この記事では、Linux 向けのオープンソースのユニバーサルまたはクロスディストリビューション パッケージ管理システムの上位 3 つをレビューします。
1. Snap – ユニバーサルパッケージフォーマット
Snap は、Ubuntu Linux のメーカーであるカノニカルによって開発された、人気のあるオープンソースのアプリケーション/パッケージ形式およびパッケージ管理システムです。 Ubuntu、Debian、Fedora、Arch Linux、Manjaroなど、いくつかの Linux ディストリビューションがスナップをサポートするようになりました。 とCentOS/RHEL。
簡単なインストールとアップデート
スナップ アプリケーションは、すべての依存関係がバンドルされたクロスディストリビューション アプリケーション (依存関係なし) で、スナップをサポートする Linux ディストリビューションに自動更新で簡単にインストールできます (アプリケーションは常に最新です)。スナップは、デスクトップ、サーバー、クラウド、または IoT (モノのインターネット) 上で実行できます。
アプリケーションを作成またはスナップするには、フレームワークであるSnapcraftと、スナップを構築するための強力なコマンドライン ツールを使用します。 Linux でスナップをインストールして使用するには、Linux システムが .snap
ファイルを操作できるようにするバックグラウンド サービスである snapd (または snappy デーモン) をインストールする必要があります。スナップの実際のインストールは、snap コマンドライン ツールを使用して行われます。
セキュリティと隔離
スナップは制限 (さまざまな構成可能な制限レベル) の下で実行されるため、デフォルトで安全です。重要なのは、その制限の外にあるシステム リソースにアクセスする必要があるスナップでは、スナップの要件に基づいてスナップの作成者によって慎重に選択された「インターフェイス」が使用されることです。これにより、基本オペレーティング システムの安定性と柔軟性を損なうことなくアプリケーションを実行できます。
さらに、スナップ パッケージ管理システムは、チャネルと呼ばれる概念 (トラック、リスク レベル、ブランチで構成され、さらに細分化されている) を使用して、どのリリースのスナップがインストールされ、更新が追跡されるかを決定します。スナップは自動更新も行うため、このプロセスは手動で管理できます。
スナップを見つけてインストールするには、スナップ ストア (開発者がスナップを共有できる場所) でスナップを検索するか、ガイドを使用して詳細をお読みください。
2. Flatpak – クロスディストリビューション互換性
Flatpak は、Linux ディストリビューション上でデスクトップ アプリケーションを配布するためのよく知られたオープンソース フレームワークです。独立したコミュニティによって開発されたFlatpak を使用すると、単一のアプリケーション ビルドを事実上すべての Linux ディストリビューションにインストールして実行できます。
Fedora、Ubuntu、RHEL、CentOS、OpenSUSEを含む合計 25 のディストリビューションをサポートしています。 とArch Linux に加え、Raspberry Pi でも動作します。
Flatpak のランタイムは、アプリケーションが利用できる共通ライブラリのプラットフォームを提供します。ただし、依存関係を完全に制御することも非常に簡単になり、ライブラリをアプリケーションの一部としてバンドルできます。
Flatpak には使いやすいビルド ツールが付属しており、開発者がアプリケーションをビルドしてテストするための一貫した環境 (デバイス間で同じ、ユーザーが既に持っているものと同様) を提供します。
セキュリティを強化するためのサンドボックス化
Flatpak は、各アプリをサンドボックスに配置することで安全性を高めます。これにより、アプリがメイン システムや他のアプリに干渉することがなくなります。ソースが不明なアプリを扱う場合に非常に便利です。
ユーザーと開発者に優しい
フラットパックの便利な点は、同じフラットパックを同じディストリビューションの異なるバージョン(開発者がまだリリースされていないバージョンを含む)で実行できる上位互換性です。また、Linux ディストリビューションの新しいバージョンとの互換性を維持するよう努めており、引き続き互換性を維持します。
開発者の場合は、すべてのディストリビューションでアプリケーションを配布するための集中サービスである Flathub を介して、Linux ユーザーがアプリケーションを利用できるようにすることができます。
3. AppImage: ポータブルな代替手段
AppImage は、開発者がアプリケーションを一度パッケージ化するだけで、すべての主要な Linux デスクトップ ディストリビューションで実行できるオープンソース パッケージ形式でもあります。以前のパッケージ形式とは異なり、AppImage を使用すると、パッケージをインストールする必要がありません。使用するアプリケーションをダウンロードし、実行可能にして実行するだけです。とても簡単です。ほとんどの 32 ビットおよび 64 ビット Linux デスクトップをサポートします。
インストールは必要ありません
AppImage を使用すると、何もインストールする必要はありません。システムを変更せずに、これらのパッケージを USB ドライブに配置して共有し、アプリを実行できます。これは、ポータブル Linux やライブ システムに最適です。
幅広い互換性
AppImage には多くの利点があります。開発者にとっては、ユーザーが実行している Linux ディストリビューションやバージョンに関係なく、できるだけ多くのユーザーにアプローチできるようになります。ユーザーは、すべてのAppImage がすべての依存関係にバンドルされている (1 つのアプリ=1 ファイル) ため、アプリケーションの依存関係について心配する必要はありません。 AppImage を使用すると、アプリケーションの新しいバージョンを簡単に試すことができます。
多数のデスクトップ システムをサポートし、通常はユーザーがシステムを破壊する可能性のあるアプリケーションをインストールするのをブロックしているシステム管理者にとって、もう心配する必要はありません。 AppImage を使用すると、ユーザーはアプリを実行するためにインストールする必要がないため、システムはそのまま残ります。
トリオの比較: Snap、Flatpak、AppImage
以下は 3 つのユニバーサル パッケージ マネージャーの比較です。
Feature |
Snap |
Flatpak |
AppImage |
Package format |
Self-contained, compressed file |
Self-contained, compressed file |
Single executable file |
Sandboxing |
Yes (by default) |
No (by default) |
No |
Automatic updates |
Yes |
Optional |
No |
Installation |
Requires snapd daemon |
Requires Flatpak runtime |
Does not require installation |
Root privileges |
Requires root privileges to install |
Does not require root privileges to install |
Does not require root privileges to run |
どのパッケージマネージャーを選択すればよいですか?
自動更新機能を備えた安全で使いやすいパッケージ マネージャーをお探しの場合は、スナップが最適です。あらゆる種類のアプリケーションをパッケージ化するために使用できる、より柔軟なパッケージ マネージャーを探している場合は、Flatpak が良い選択です。インストールや root 権限を必要としないパッケージ マネージャーをお探しの場合は、AppImage が最適です。
また、3 つのパッケージ マネージャーはすべてまだ開発中であるため、バグや不足している機能が存在する可能性があることに注意することが重要です。ただし、それらはすべてアクティブにメンテナンスされ、定期的に更新されます。
結論
ユニバーサルまたはクロスディストリビューション パッケージ形式は、Linux エコシステムでソフトウェアを構築および配布するための次世代テクノロジです。ただし、従来のパッケージ管理システムは依然として機能しています。
あなたの考えは何ですか?コメントセクションを通じて私たちと共有してください。