Snap
snapd は snap パッケージ ("snap") を管理するための REST API デーモンです。ユーザーは (同じパッケージに入っている) snap
クライアントを使用することで snapd を操作することができます。
インストール
パッケージをインストールすると、snapd デーモンと snap パッケージのマウント・制限・起動をする snap-confine[リンク切れ: パッケージが存在しません] がインストールされます。
master ブランチから直接ビルドされる snapd-gitAUR パッケージは AUR からインストールできます。インストール時に snapd
と snap-confine
パッケージが置き換えられます。
設定
snapd には複数の systemd ユニットが付属しています。snap の新しいバージョンがリリースされたときに自動的に更新するなどの複数のタスクを管理できます。
snap
が使おうとしたときに snapd デーモンを起動するには、snapd.socket
を起動・有効化します:
# systemctl start snapd.socket
新しいバージョンがストアに追加されたときに snap を更新するにはタイマーを起動します:
# systemctl start snapd.refresh.timer
削除
snapdAUR パッケージをアンインストールしても snap を使用して作成されたディレクトリやファイルは削除されません。snapdAUR パッケージをアンインストールする際は事前に snap remove で snap を削除することを推奨します。現在、snap コマンドで core の snap を削除する方法はありません。snap パッケージのキャッシュや mount ユニットファイルなどを完全に削除したい場合、以下の手順に従って下さい。
1. /var/lib/snapd/snap/
にマウントされている snap を全てアンマウントします:
# umount $(mount | grep snap | awk '{print $3}')
2. 状態ディレクトリとマウントフックを削除します:
# rm -rf /var/lib/snapd # rm -rf /var/snap
3. 起動時に /var/lib/snapd/snaps
から /var/lib/snapd/snap
に snap をマウントするユニットファイルを全て削除します:
# find /etc/systemd/system -name "*snap-*.mount" -delete # find /etc/systemd/system -name "snap.*.service" -delete
使用方法
snap の検索
次のコマンドで Ubuntu Store を検索できます:
$ snap find searchterm
snap のインストール
次のコマンドで snap をインストールすることができます:
# snap install snapname
上記のコマンドを実行するには root 権限が必要です。現在のところ、通常ユーザーで snap をインストールすることはできません。インストールすると /var/lib/snapd/snaps
に snap がダウンロードされて、/snap/<snapname>
にマウントされ、システムから使える状態になります。$PATH
環境変数に /var/lib/snapd/snap/bin
を追加することでインストールした snap を起動することが可能です。
システムが起動したときに全ての snap が利用できるように、snap のマウントユニットも作成され、/etc/systemd/system/multi-user.target.wants/
にシンボリックリンクとして追加されます。インストールが完了したら、次のコマンドでインストールされている snap を確認できます。バージョン番号やリビジョン番号、開発者も表示されます:
$ snap list
ローカルのハードドライブから野良 snap をインストールするには:
# snap install --dangerous /path/to/snap
snap のアップデート
snap をアップデートするには次のコマンドを使用:
# snap refresh
snap の削除
次のコマンドで snap を削除できます:
# snap remove snapname
参照
- arstechnica article (06/16) Ubuntu の snap が Arch などのディストリで使えるようになったことについての記事
- Snapcraft フォーラム