Snap

提供: ArchWiki
2017年2月14日 (火) 22:47時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

snapd は snap パッケージ ("snap") を管理するための REST API デーモンです。ユーザーは (同じパッケージに入っている) snap クライアントを使用することで snapd を操作することができます。

インストール

公式リポジトリから snapd パッケージをインストールしてください。

パッケージをインストールすると、snapd デーモンと snap パッケージのマウント・制限・起動をする snap-confine がインストールされます。

警告: snap-confine--disable-apparmor オプションでビルドされており、完全な制限を行うには Ubuntu の Linux 4.4 パッチセット をあてて AppArmor が有効になったカーネルと snap の AppArmor のプロファイルが必要です。
ヒント: snapd は snapd パッケージでインストールしたバイナリのパスとデスクトップエントリをエクスポートするために /etc/profile.d/ にスクリプトをインストールします。変更を適用させるために一度再起動してください。

設定

snapd には複数の systemd ユニットが付属しています。snap の新しいバージョンがリリースされたときに自動的に更新するなどの複数のタスクを管理できます。

snap が使おうとしたときに snapd デーモンを起動するには、snapd.socket を起動・有効化します:

# systemctl start snapd.socket

新しいバージョンがストアに追加されたときに snap を更新するにはタイマーを起動します:

# systemctl start snapd.refresh.timer

削除

snapd パッケージをアンインストールしても snap を使用して作成されたディレクトリやファイルは削除されません。snapd パッケージをアンインストールする際は事前に snap remove で snap を削除することを推奨します。現在、snap コマンドで ubuntu-core の snap を削除する方法はありません。snap パッケージのキャッシュや mount ユニットファイルなどを完全に削除したい場合、以下の手順に従って下さい。

1. /snap にマウントされている snap を全てアンマウントします:

# umount $(mount | grep snap | awk '{print $3}')

2. 状態ディレクトリとマウントフックを削除します:

# rm -rf /var/lib/snapd
# rm -rf /snap

3. 起動時に /var/lib/snapd/snaps から /snap に snap をマウントするユニットファイルを全て削除します:

# find /etc/systemd/system -name "snap-*.mount" -delete
# find /etc/systemd/system -name "snap.*.service" -delete
# find /etc/systemd/system/multi-user.target.wants -name "snap-*.mount" -delete
# find /etc/systemd/system/multi-user.target.wants -name "snap.*.service" -delete

使用方法

snap の検索

次のコマンドで Ubuntu Store を検索できます:

$ snap find <searchterm>

snap のインストール

次のコマンドで snap をインストールすることができます:

# snap install <snapname>

上記のコマンドを実行するには root 権限が必要です。現在のところ、通常ユーザーで snap をインストールすることはできません。インストールすると /var/lib/snapd/snaps に snap がダウンロードされて、/snap/<snapname> にマウントされ、システムから使える状態になります。

システムが起動したときに全ての snap が利用できるように、snap のマウントユニットも作成され、/etc/systemd/system/multi-user.target.wants/ にシンボリックリンクとして追加されます。インストールが完了したら、次のコマンドでインストールされている snap を確認できます。バージョン番号やリビジョン番号、開発者も表示されます:

$ snap list

ローカルのハードドライブから野良 snap をインストールするには:

# snap install --devmode /path/to/snap

snap のアップデート

snap をアップデートするには次のコマンドを使用:

# snap refresh

snap の削除

次のコマンドで snap を削除できます:

# snap remove <snapname>

参照