kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。 Ubuntuの最新情報も紹介しています。

snapパッケージが様々なLinuxディストリビューションで利用可能に

「Ubuntu(Canonical)」発祥である「snap」パッケージが、様々なLinuxディストリビューションで利用可能になります。


Linuxディストリビューションのパッケージ管理システムの垣根を超えるすごい時代になりました。
「Ubuntu on Windows」といい「ZFS」といい「Snappy/Snaps」といいここ最近の「Ubuntu(Canonical)」は話題に事欠かないですね。



「snap」パッケージを簡潔に説明すると、「snap」パッケージは「deb」パッケージのようにアプリケーションなどのソフトウェアのインストーラーに相当するものです。
「Snappy」と組み合わせて利用します。

「Snappy/Snaps」は、新しく作られたモダンなパッケージ管理システムだと思ってもらえれば良いです。

1つのバイナリーパッケージですべてのプラットフォームをサポート

「snap」パッケージは、1つのバイナリーパッケージですべてのプラットフォームをサポートします。


既存のソフトウェア管理

Linuxディストリビューション向けにソフトウェアを提供する際、それぞれのディストリビューションの環境に合わせてソフトウェアを用意する必要があります。

1.パッケージ形式の違い

例えばUbuntuではdeb形式のパッケージを採用しており、一方Fedoraではrpm形式のパケージを採用しています。
UbuntuとFedoraにソフトウェアを提供する場合は、debパッケージとrpmパッケージを用意する必要があります。

debやrpm以外にも、ディストリビューション固有のパッケージ管理の仕組みが存在します。

パッケージ化せずアーカイブ化したバイナリーをそのまま配布することも可能ですが、パッケージ管理システムの管理対象にならずアップデートを手動で行う必要があるなど、ユーザーにとって親切な配布形態ではありません。

2.バージョンの違い

同じディストリビューションにソフトウェア提供する場合でも、バージョンによる環境の違いがあり、環境の違いを配慮する必要があります。
例えば現在サポートされているUbuntuのバージョンは、以下の4つです。

  • Ubuntu 12.04
  • Ubuntu 14.04
  • Ubuntu 15.10
  • Ubuntu 16.04

もし上記すべてのバージョンにソフトウェアを提供するとなると、それぞれのバージョンにおいてソフトウェアが必要とするライブラリーが提供されているか確認する必要があります。

またライブラリーには複数のバージョンが存在するため、ライブラリーが提供されていたとしてもソフトウェアが必要とするバージョンのライブラリーが存在するか確認する必要があります。

さらにライブラリーのバージョンの違いにより挙動が異なるケースもあります。
将来リリースされるUbuntuのバージョンに対する懸念も同様です。

同じ仕組みを共有して独立したアプリの環境を提供

上記の「1.」については、すべてのLinuxディストリビューションで同じ仕組みを利用すれば解決できます。

「2.」については、アプリがLinuxディストリビューションに依存する部分を切離し、アプリ専用の環境を提供することで解決できます。

アプリが必要なライブラリーをアプリの専用環境に配置します。
こうすることで、ライブラリーが存在しているかどうか確認する必要が無くなりますし、ライブラリーのバージョンもアプリにとって都合の良いバージョンが利用できるわけです。

すべてのプラットフォームで利用可能

「snap」は、LinuxデスクトップでもサーバーでもクラウドでもLinuxデバイスでも利用可能です。
ただし「snap」を導入するには、ベンダーやソフトウェア開発者、Linuxディストリビューターの協力が必要です。

様々なベンダーや開発者がsnapへの協力を表明

様々なベンダーや開発者、Linuxディストリビューターが「snap」パッケージへの協力を表明しています。

  1. Dell
  2. Samsung
  3. the Linux Foundation
  4. The Document Foundation
  5. Krita
  6. Mycroft
  7. Horizon Computing
  8. contributors to Arch
  9. Debian
  10. OpenWrt
  11. Ubuntu
  12. Firefox
  13. その他関係するLinuxディストリビューション

すでにsnapが利用できるディストリビューション

以下のディストリビューションでは、すでに「snap」が利用できる状況になっています。

  1. Arch
  2. Debian
  3. Fedora
  4. Kubuntu
  5. Lubuntu
  6. Ubuntu GNOME
  7. Ubuntu Kylin
  8. Ubuntu MATE
  9. Ubuntu Unity
  10. Xubuntu

また以下のディストリビューションで「snap」が利用できる状態になりつつあります。

  1. CentOS
  2. Elementary
  3. Gentoo
  4. Mint
  5. OpenSUSE
  6. OpenWrt
  7. RHEL

上記に挙げたすべてのディストリビューションを含めると、Linuxユーザーの圧倒的多数をカバーできます。
デスクトップ分野、サーバー分野、そしてクラウンド分野においてもです。

各ディストリビューションでsnapパッケージを利用するには

各ディストリビューションでsnapパッケージを利用するには、「Snappy(snapd)」をインストールする必要があります。

インストール後にsnapdを有効にするために

「snapd」をインストールした後「snapd」を有効にするために、忘れずにログインし直すか、PCを再起動してください。

Arch Linux

いずれかの「AURヘルパー」をインストールし、「snapd」をインストールしてください。
例えば「pacaur」なら、以下の操作で「snapd」をインストールできます。

pacaur -S snapd

Debian

公式のDebianパッケージが用意されており、「Debian Unstable」から利用できます。
インストール方法は「Ubuntu」と同じで、以下のコマンドを実行してください。

sudo apt install snapd

Fedora

Fedora 23とFedora 24で利用可能です。

1.リポジトリーの有効化

まず以下のコマンドでリポジトリーを有効にします。

sudo dnf copr enable zyga/snapcore

2.snapdのインストール

次に以下のコマンドで「snapd」をインストールします。

sudo dnf install snapd

Fedora 24では

「snapd」インストール後、「/etc/selinux/config」ファイルに「SELINUX=permissive」の行を記述してください。

Gentoo Linux

snap-confine.ebuild」をインストールしてから、「snapd.ebuild」をインストールしてください。

Ubuntu

「Ubuntu 16.04」及びフレーバーでは、すでに「snap」パッケージが利用可能になっており、「Ubuntuソフトウェア」から「snap」パッケージで提供されているアプリケーションをインストールできます。

上記以外のディストリビューション

上記に派生元のディストリビューションがある場合は、派生元のディストリビューションと同じ方法でインストールできないか確認してください。

ソースコードからビルドしてインストールするには

「snapd」をソースコードからビルドしてインストールするには、「snapcore/snapd」を参考にしてください。


関連コンテンツ
同一カテゴリーの記事
コメント
オプション