「Snap」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「http://arstechnica.com/」を「https://arstechnica.com/」に置換)
(同期)
2行目: 2行目:
 
[[en:Snapd]]
 
[[en:Snapd]]
 
[[ru:Snapd]]
 
[[ru:Snapd]]
  +
{{Related articles start}}
  +
{{Related|Flatpak}}
  +
{{Related articles end}}
 
[https://github.com/snapcore/snapd snapd] は snap パッケージ ("snap") を管理するための REST API デーモンです。ユーザーは (同じパッケージに入っている) {{ic|snap}} クライアントを使用することで snapd を操作することができます。
 
[https://github.com/snapcore/snapd snapd] は snap パッケージ ("snap") を管理するための REST API デーモンです。ユーザーは (同じパッケージに入っている) {{ic|snap}} クライアントを使用することで snapd を操作することができます。
   
 
==インストール==
 
==インストール==
   
{{AUR|snapd}} パッケージを[[インストール]]してください。
+
{{AUR|snapd}} または {{AUR|snapd-git}} パッケージを[[インストール]]してください。[[公式リポジトリ]]から {{ic|snapd}} をインストールしたことがある場合、{{ic|snap-confine}} が削除されます
   
パッケージをインストールすると、snapd デーモンと snap パッケージのマウント・制限・起動をする {{Pkg|snap-confine}}{{Broken package link|パッケジが存在しません}} がインストールされます。
+
パッケージをインストールすると {{ic|snapd}} モンがインストールされます。
 
{{Warning|[https://github.com/snapcore/snap-confine snap-confine] は {{ic|--disable-apparmor}} オプションでビルドされており、完全な制限を行うには Ubuntu の [http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux_4.4.0-21.37.diff.gz Linux 4.4 パッチセット] をあてて [[AppArmor]] が有効になったカーネルと snap の AppArmor のプロファイルが必要です。}}
 
   
 
{{tip|snapd は snapd パッケージでインストールしたバイナリのパスとデスクトップエントリをエクスポートするために {{ic|/etc/profile.d/}} にスクリプトをインストールします。変更を適用させるために一度再起動してください。}}
 
{{tip|snapd は snapd パッケージでインストールしたバイナリのパスとデスクトップエントリをエクスポートするために {{ic|/etc/profile.d/}} にスクリプトをインストールします。変更を適用させるために一度再起動してください。}}
 
master ブランチから直接ビルドされる {{AUR|snapd-git}} パッケージは [[AUR]] からインストールできます。インストール時に {{ic|snapd}} と {{ic|snap-confine}} パッケージが置き換えられます。
 
   
 
==設定==
 
==設定==
26行目: 25行目:
   
 
==削除==
 
==削除==
  +
  +
{{tip|{{AUR|snapd}} と {{AUR|snapd-git}} のバージョン 2.30 以上ではパッケージを削除するときにインストールされている snap を自動的に消去します。手動で削除する必要はなくなりました。}}
   
 
{{AUR|snapd}} パッケージをアンインストールしても ''snap'' を使用して作成されたディレクトリやファイルは削除されません。{{AUR|snapd}} パッケージをアンインストールする際は事前に ''snap remove'' で snap を削除することを推奨します。現在、''snap'' コマンドで core の snap を削除する方法はありません。snap パッケージのキャッシュや mount ユニットファイルなどを完全に削除したい場合、以下の手順に従って下さい。
 
{{AUR|snapd}} パッケージをアンインストールしても ''snap'' を使用して作成されたディレクトリやファイルは削除されません。{{AUR|snapd}} パッケージをアンインストールする際は事前に ''snap remove'' で snap を削除することを推奨します。現在、''snap'' コマンドで core の snap を削除する方法はありません。snap パッケージのキャッシュや mount ユニットファイルなどを完全に削除したい場合、以下の手順に従って下さい。
32行目: 33行目:
 
 
 
# umount $(mount | grep snap | awk '{print $3}')
 
# umount $(mount | grep snap | awk '{print $3}')
  +
  +
{{warning|{{ic|mount | grep snap}} の出力を確認して誤ってアンマウントしないように注意してください。}}
   
 
2. 状態ディレクトリとマウントフックを削除します:
 
2. 状態ディレクトリとマウントフックを削除します:
66行目: 69行目:
 
次のコマンドで snap を削除できます:
 
次のコマンドで snap を削除できます:
 
# snap remove ''snapname''
 
# snap remove ''snapname''
  +
  +
== ヒントとテクニック ==
  +
=== Classic snap ===
  +
一部の snap (例: [[Skype]] や Pycharm) は classic confinement を使用しますが、classic confinement は [[FHS]] に準拠していない {{ic|/snap}} ディレクトリを必要とします。snapd パッケージには {{ic|/snap}} ディレクトリは含まれていません。classic snap をインストールしたい場合、{{ic|/var/lib/snapd/snap}} から {{ic|/snap}} に手動でシンボリックリンクを作成してください:
  +
  +
# ln -s /var/lib/snapd/snap /snap
   
 
== 参照 ==
 
== 参照 ==

2018年2月28日 (水) 21:34時点における版

関連記事

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

参照