Snap

提供: ArchWiki
2018年2月28日 (水) 21:34時点におけるKusakata (トーク | 投稿記録)による版 (同期)
ナビゲーションに移動 検索に移動

関連記事

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

インストール

snapdAUR または snapd-gitAUR パッケージをインストールしてください。公式リポジトリから snapd をインストールしたことがある場合、snap-confine が削除されます。

パッケージをインストールすると snapd デーモンがインストールされます。

ヒント: snapd は snapd パッケージでインストールしたバイナリのパスとデスクトップエントリをエクスポートするために /etc/profile.d/ にスクリプトをインストールします。変更を適用させるために一度再起動してください。

設定

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

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

# systemctl start snapd.socket

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

# systemctl start snapd.refresh.timer

削除

ヒント: snapdAURsnapd-gitAUR のバージョン 2.30 以上ではパッケージを削除するときにインストールされている snap を自動的に消去します。手動で削除する必要はなくなりました。

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

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

# umount $(mount | grep snap | awk '{print $3}')
警告: mount | grep snap の出力を確認して誤ってアンマウントしないように注意してください。

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

ヒントとテクニック

Classic snap

一部の snap (例: Skype や Pycharm) は classic confinement を使用しますが、classic confinement は FHS に準拠していない /snap ディレクトリを必要とします。snapd パッケージには /snap ディレクトリは含まれていません。classic snap をインストールしたい場合、/var/lib/snapd/snap から /snap に手動でシンボリックリンクを作成してください:

# ln -s /var/lib/snapd/snap /snap

参照