Snapを使ってパッケージ管理を行うには、システムに用意されているパッケージ管理システムを使って「snapd」というパッケージをインストールすればよい。例えば、次のようにしてsnapdをインストールする。

■Linux apt - snapdインストール方法

sudo apt install snapd

■Linux dnf - snapdインストール方法

sudo dnf install snapd
sudo ln -s /var/lib/snapd/snap /snap

Snapの管理は「snap」というコマンドを使って実施する。使い方は「apt」や「yum」など、現在代表的なパッケージ管理システムとほとんど同じだ。苦労することはほとんどないと思う。

操作方法 内容
snap find パッケージ名 パッケージの検索
snap search パッケージ名 パッケージの検索
snap install パッケージ名 パッケージのインストール
snap remove パッケージ名 パッケージのアンインストール
snap list インストール済みパッケージ一覧を表示
snap refresh パッケージ名 インストール済みパッケージをアップデート

「snap search」でパッケージを検索して、「snap install」でパッケージをインストール、「snap remove」でインストールしたパッケージをアンインストールできる。snap経由でインストールしたパッケージは自動的にアップデートされていくので、パッケージの管理はシステムデフォルトのパッケージよりも簡単だ。

snapコマンドの実行例

では、実際にコマンドを試してみよう。snap経由でインストールしたパッケージは、「snap list」で表示することができる。

snap listでインストール済みパッケージの一覧を表示

パッケージの検索は「snap search」、または「snap find」で実施する。

snap searchの実行例

インストールは「snap install」で実行できる。

snap installの実行例

aptなどでインストールしたパッケージとの大きな違いは、snapでインストールしたパッケージは/snap/以下にインストール(そしてマウント)されるという点にある。

snapパッケージは/snap/以下にインストールおよびマウントされる

/snap/以下にパッケージごとのディレクトリを確認

snapパッケージは「/snap/パッケージ名/」以下にインストールされている。

/snap/パッケージ名/以下に個別にインストールされる仕組み

コマンドとしては/snap/bin/にシンボリックリンクが生成される仕組みになっているので、/snap/bin/を環境変数PATHに追加しておけばよい仕組みになっている。

/snap/bin/を環境変数PATHに追加しておけばよい

個別のディレクトリにインストールされるSnap

snapのパッケージは「/snap/パッケージ名/」以下に個別にインストールされる。リビジョンごとに個別のディレクトリにインストールされるため、独立性の高い仕組みになっている。snapはパッケージそのものが高い独立性を実現しており、ほかのパッケージやOSに影響を与えにくい。こうした仕組みがそのデプロイデザインというわけだ。

「パッケージごとに個別のディレクトリにインストールする」というアイデアは、それほど新しいものではない。ここにさらに必要なライブラリも含めて分離してしまうことで、独立性を高めているわけだ。

この仕組みの問題点はディスクの消費容量が増えることだが、現在のマシンスペックではその点はもう問題にならないのではないかと思う。だとすれば、バージョンアップやロールバックが簡単で管理が簡単なSnapは魅力的だ。