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 search」、または「snap find」で実施する。
インストールは「snap install」で実行できる。
aptなどでインストールしたパッケージとの大きな違いは、snapでインストールしたパッケージは/snap/以下にインストール(そしてマウント)されるという点にある。
snapパッケージは「/snap/パッケージ名/」以下にインストールされている。
コマンドとしては/snap/bin/にシンボリックリンクが生成される仕組みになっているので、/snap/bin/を環境変数PATHに追加しておけばよい仕組みになっている。
個別のディレクトリにインストールされるSnap
snapのパッケージは「/snap/パッケージ名/」以下に個別にインストールされる。リビジョンごとに個別のディレクトリにインストールされるため、独立性の高い仕組みになっている。snapはパッケージそのものが高い独立性を実現しており、ほかのパッケージやOSに影響を与えにくい。こうした仕組みがそのデプロイデザインというわけだ。
「パッケージごとに個別のディレクトリにインストールする」というアイデアは、それほど新しいものではない。ここにさらに必要なライブラリも含めて分離してしまうことで、独立性を高めているわけだ。
この仕組みの問題点はディスクの消費容量が増えることだが、現在のマシンスペックではその点はもう問題にならないのではないかと思う。だとすれば、バージョンアップやロールバックが簡単で管理が簡単なSnapは魅力的だ。