「Snap」の版間の差分
(ページの作成:「Category:開発 en:Snapd [https://github.com/snapcore/snapd snapd] は snap パッケージを管理するための REST API デーモンです。ユーザーは...」) |
(同期) |
||
1行目: | 1行目: | ||
[[Category:開発]] |
[[Category:開発]] |
||
[[en:Snapd]] |
[[en:Snapd]] |
||
+ | [[ru:Snapd]] |
||
− | [https://github.com/snapcore/snapd snapd] は snap パッケージを管理するための REST API デーモンです。ユーザーは (同じパッケージに入っている) {{ic|snap}} クライアントを使用することで snapd を操作することができます。 |
||
+ | [https://github.com/snapcore/snapd snapd] は snap パッケージ ("snap") を管理するための REST API デーモンです。ユーザーは (同じパッケージに入っている) {{ic|snap}} クライアントを使用することで snapd を操作することができます。 |
||
==インストール== |
==インストール== |
||
− | + | 公式リポジトリから {{Pkg|snapd}} パッケージをインストールしてください。 |
|
− | パッケージをインストールすると、snapd デーモンと snap パッケージのマウント・制限・起動をする snap-confine がインストールされます。 |
+ | パッケージをインストールすると、snapd デーモンと snap パッケージのマウント・制限・起動をする snap-confine がインストールされます。[https://github.com/snapcore/snap-confine snap-confine] は {{ic|--disable-apparmor}} オプションでビルドされており、完全な制限を行うには [[AppArmor]] が有効になったカーネルと snap の AppArmor のプロファイルが必要です。 |
+ | |||
− | {{tip|snapd は snapd でインストールしたバイナリのパスとデスクトップエントリをエクスポートするために {{ic|/etc/profile.d/}} にスクリプトをインストールします。変更を適用させるために一度再起動してください。}} |
||
+ | {{tip|snapd は snapd パッケージでインストールしたバイナリのパスとデスクトップエントリをエクスポートするために {{ic|/etc/profile.d/}} にスクリプトをインストールします。変更を適用させるために一度再起動してください。}} |
||
==設定== |
==設定== |
||
18行目: | 20行目: | ||
新しいバージョンがストアに追加されたときに snap を更新するにはタイマーを起動します: |
新しいバージョンがストアに追加されたときに snap を更新するにはタイマーを起動します: |
||
# systemctl start snapd.refresh.timer |
# systemctl start snapd.refresh.timer |
||
+ | |||
+ | ==削除== |
||
+ | |||
+ | {{Pkg|snapd}} パッケージをアンインストールしても ''snap'' を使用して作成されたディレクトリやファイルは削除されません。{{Pkg|snapd}} パッケージをアンインストールする際は事前に ''snap remove'' で snap を削除することを推奨します。現在、''snap'' コマンドで ubuntu-core の snap を削除する方法はありません。snap パッケージのキャッシュや mount ユニットファイルなどを完全に削除したい場合、以下の手順に従って下さい。 |
||
+ | |||
+ | 1. {{ic|/snap}} にマウントされている snap を全てアンマウントします: |
||
+ | |||
+ | # umount $(mount | grep snap | awk '{print $3}') |
||
+ | |||
+ | 2. 状態ディレクトリとマウントフックを削除します: |
||
+ | # rm -rf /var/lib/snapd |
||
+ | # rm -rf /snap |
||
+ | |||
+ | 3. 起動時に {{ic|/var/lib/snapd/snaps}} から {{ic|/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 |
||
==使用方法== |
==使用方法== |
||
47行目: | 67行目: | ||
次のコマンドで snap を削除できます: |
次のコマンドで snap を削除できます: |
||
# snap remove <snapname> |
# snap remove <snapname> |
||
+ | |||
+ | == 参照 == |
||
+ | |||
+ | * [http://arstechnica.com/information-technology/2016/06/goodbye-apt-and-yum-ubuntus-snap-apps-are-coming-to-distros-everywhere/ arstechnica article] (06/16) about Ubuntu snaps becoming available for Arch and other distros |
2016年7月16日 (土) 17:27時点における版
snapd は snap パッケージ ("snap") を管理するための REST API デーモンです。ユーザーは (同じパッケージに入っている) snap
クライアントを使用することで snapd を操作することができます。
インストール
公式リポジトリから snapd パッケージをインストールしてください。
パッケージをインストールすると、snapd デーモンと snap パッケージのマウント・制限・起動をする snap-confine がインストールされます。snap-confine は --disable-apparmor
オプションでビルドされており、完全な制限を行うには AppArmor が有効になったカーネルと snap の AppArmor のプロファイルが必要です。
設定
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
上記のコマンドはインストールできる全ての snap を表示します。特定の snap を検索したいときは:
$ 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>
参照
- arstechnica article (06/16) about Ubuntu snaps becoming available for Arch and other distros