kledgeb UbuntuやLinuxの最新情報を紹介

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

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

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


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


  • Universal “snap” packages launch on multiple Linux distros
  • Snapcraft

「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」を参考にしてください。


Ubuntu 16.04
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Linux その450 - Canonical LXD や MicroCloud にクライアントなりすましの脆弱性・アップデートを
    Canonical LXD や MicroCloud に重大な脆弱性 2026年10月28日、Canonical LXD や MicroCloud に重大な脆弱性がみつかりました。
  • Ubuntu 26.04 その82 - Linux kernel の脆弱性 CVE-2026-98432 の対応状況
    CVE-2026-98432 の対応状況 2026年11月2日、Linux kernel の脆弱性である CVE-2026-98432 の対応状況がアナウンスされました。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Ubuntu 26.04 その78 - eMudhra 認証局の秘密鍵の侵害・アップデートを
    eMudhra 認証局の秘密鍵の侵害 2026年10月20日、eMudhra 認証局(eMudhra CA)の秘密鍵の侵害が発覚しました。
  • Ubuntu 26.04 その79 - CVE-2026-111497 に対応した Brotli のリリース・アップデートを
    Brotli のセキュリティーアップデート 2026年10月26日、CVE-2026-111497 に対応した Brotli がリリースされました。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Ubuntu 26.10 その39 - Ubuntu 26.10 の新機能と変更点・既知の問題
    Ubuntu 26.10 の新機能と変更点・既知の問題 リリースノートから、Ubuntu 26.10 の新機能と変更点を紹介します。
  • Ubuntu 26.04 その80 - Ubuntu 26.04.2 LTS のリリーススケジュール
    Ubuntu 26.04.2 LTSのリリーススケジュール Ubuntu 26.04.2 LTS のリリーススケジュールを紹介します。
記事のピックアップ
オプション