snapdインストール方法まとめ【Ubuntu・Linux Mint・Debian・Fedoraなど】

Linuxディストリビューションを問わず動作するソフトウェアパッケージ「Snap」形式で配布されるアプリが増えています。GitHubなどでもsnapコマンドでの導入方法を案内しているページをよく見るようになってきました。

そこで、Snapを利用するために必要なツール「snapd」を、各ディストリビューションにインストールする方法をまとめます。debやrpmといったパッケージになっていないアプリや、より新しいバージョンのアプリがSnapで配布されていることもあります。もし、使いたいSnapがあるなら、以下の手順でsnapdをインストールしてください。

snapdインストール方法

Ubuntu

Ubuntu 16.04 LTS以降のUbuntuにはデフォルトでsnapdがインストールされています。
入っていなければ、以下のコマンドでインストールできます。

sudo apt -y install snapd

Linux Mint

sudo apt install snapd

Debian

sudo apt -y install snapd

Fedora

sudo dnf -y install snapd
sudo systemctl enable --now snapd.socket

Arch Linux

sudo pacman -S snapd
sudo systemctl enable --now snapd.socket

OpenSUSE

42.2:

sudo zypper addrepo http://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_42.2/ snappy
sudo zypper install snapd
sudo systemctl enable --now snapd.socket

Tumbleweed(ローリングリリース版):

sudo zypper addrepo http://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy
sudo zypper install snapd
sudo systemctl enable --now snapd.socket

インストール後のテスト

インストールしたら、snapコマンドが正しく動くか試してみましょう。以下のコマンドで、「hello」にマッチするSnapを検索できます。

snap find hello-world

マッチしたsnapの一覧が表示されれば問題ありません。次に、テスト用のSnap「hello」をインストールしてみましょう。

sudo snap install hello-world

「hello」や「hello.universe」を実行して、以下のように出力されるか確認してみましょう。

$ hello-world
Hello, world!

これで、snapをインストールできるようになりました。snapは、Webブラウザでhttps://uappexplorer.com/snapsを開いて検索することもできます。ただし、Snapsが便利な場合もあれば、普通にDEBやRPMといったパッケージで入れたほうがいいものもあります。Webや雑誌の記事などを参考に、どのSnapを使うのかを決めるのもいいでしょう。

Snap関連用語まとめ

Snappy、Snap、snapd、Snapcraftなど、なんだかややこしいですよね。なので、以下にまとめておきます。

Snappyはソフトウエアデプロイメント(配備)&パッケージ管理システムの名称です。

SnappyのパッケージをSnapと呼びます。

Snapのファイル形式はSnapフォーマットと呼ばれます。ファイルシステムになっていて、使用時にシステムにマウントされます。

snapdは、Snapを使うためのツールの名前です。このページでインストール方法を紹介したのがこれです。

Snapcraftは、プログラムをSnappy用にSnapフォーマットでSnapを作成するツールです。

英語圏の人たちにとっては分かりやすいのかもしれないですが、日本人にとっては似たような言葉が違う意味なので分かりにくいですね。

snapコマンドのヘルプ

$ snap --help
Usage:
  snap [OPTIONS] <command>

Install, configure, refresh and remove snap packages. Snaps are
'universal' packages that work across many different Linux systems,
enabling secure distribution of the latest apps and utilities for
cloud, servers, desktops and the internet of things.

This is the CLI for snapd, a background service that takes care of
snaps on the system. Start with 'snap list' to see installed snaps.


Application Options:
      --version  Print the version and exit

Help Options:
  -h, --help     Show this help message

Available commands:
  abort       Abort a pending change
  ack         Adds an assertion to the system
  alias       Sets up a manual alias
  aliases     Lists aliases in the system
  buy         Buys a snap
  changes     List system changes
  connect     Connects a plug to a slot
  disable     Disables a snap in the system
  disconnect  Disconnects a plug from a slot
  download    Downloads the given snap
  enable      Enables a snap in the system
  find        Finds packages to install (aliases: search)
  get         Prints configuration options
  help        Help
  info        show detailed information about a snap
  install     Installs a snap to the system
  interfaces  Lists interfaces in the system
  known       Shows known assertions of the provided type
  list        List installed snaps
  login       Authenticates on snapd and the store
  logout      Log out of the store
  prefer      Prefer aliases from a snap and disable conflicts
  refresh     Refreshes a snap in the system
  remove      Removes a snap from the system
  revert      Reverts the given snap to the previous state
  run         Run the given snap command
  set         Changes configuration options
  tasks       List a change's tasks (aliases: change)
  try         Tests a snap in the system
  unalias     Unalias a manual alias or an entire snap
  version     Shows version details
  watch       Watch a change in progress
  whoami      Prints the email the user is logged in with.

関連リンク

https://snapcraft.io/
https://snapcraft.io/docs/core/
https://build.snapcraft.io/
https://uappexplorer.com/snaps
https://www.ubuntu.com/desktop/snappy