web-dev-qa-db-ja.com

Raspberry Piでnextcloudの不完全または破損したスナップインストールを削除するにはどうすればよいですか?

最初の警告:この質問にはMateとRaspberry Piが関係することを理解しているので、このフォーラムの領域外で検討する場合は無視してください。しかし、スナップまたはそのプラットフォームに関連する何かに役立つか、典型的なものになる可能性がある場合、ここに行きます。

Nextcloud snapをインストールしてみることにしました。大量のエラーが発生し、プロセスの途中(1時間以上)でフリーズしたようです。私はそれを殺し、ちょうどそれを削除しようとすることにしました。インストールは次のようになりました。

$ Sudo snap install nextcloud
2016-06-24T08:48:29-04:00 ERROR cannot setup apparmor for snap "nextcloud": cannot load apparmor profile "snap.nextcloud.Apache": cannot load apparmor profile: exit status 1
apparmor_parser output:
Cache read/write disabled: interface file missing. (Kernel needs AppArmor 2.4 compatibility patch.)
Warning: unable to find a suitable fs in /proc/mounts, is it mounted?
Use --subdomainfs to override.

2016-06-24T08:53:29-04:00 ERROR cannot setup apparmor for snap "nextcloud": cannot load apparmor profile "snap.nextcloud.Apache": cannot load apparmor profile: exit status 1
apparmor_parser output:
Cache read/write disabled: interface file missing. (Kernel needs AppArmor 2.4 compatibility patch.)
Warning: unable to find a suitable fs in /proc/mounts, is it mounted?
Use --subdomainfs to override.

[|] Setup snap "nextcloud" security profiles

Nextcloudをスナップして削除しようとすると、

エラー:「nextcloud」を削除できません:スナップ「nextcloud」には変更が進行中です

主にしたいことは、スナップを適切に削除し、作成したパーティションからスペースを回復することです。パーティションが正しい用語である場合は??

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0         7:0    0  46.6M  0 loop /snap/ubuntu-core/120
loop1         7:1    0 113.9M  0 loop /snap/nextcloud/12
mmcblk0     179:0    0  14.9G  0 disk
├─mmcblk0p1 179:1    0    64M  0 part /boot
└─mmcblk0p2 179:2    0  14.8G  0 part /

私は試した

nextcloudのスナップ中止

そして得た

エラー:ID「nextcloud」の変更が見つかりません

また、次のものだけが表示されるため、インストール済みとして表示されないことにも注意してください

$スナップリスト
名前バージョンRev開発者メモ
ubuntu-core 16.04 + 20160531.12-01 120標準-

に表示されますが...

$スナップインターフェイス
:network nextcloud
:network-bind nextcloud

私は試した

$ snap changes
ID   Status  Spawn                 Ready  Summary
1    Doing   2016-06-24T12:39:20Z  -      Install "nextcloud" snap

$ Sudo snap abort 1

$ snap changes
ID   Status  Spawn                 Ready  Summary
1    Abort   2016-06-24T12:39:20Z  -      Install "nextcloud" snap

しかし、パーティションはまだそこにあります。

** 更新、デバッグ目的でプロセス全体を再度実行し、「snap abort 1」コマンドの後にそのままにしておきます。lsblkには何も表示されず、スナップインターフェイスが表示されるため、ある時点で何かが完了したようですクエリは何も表示しません。

19
Dennis

snapコマンドは、実際にはサーバーとクライアントの2つのコンポーネントで構成されています。クライアントと対話しています。クライアント側でインストール操作をキャンセルしたとき、それがキャンセルした唯一の場所、つまりクライアントです。そのため、インストール中であることを示すのを停止しましたが、まだインストール中でした(これは bug です)。 (更新:このバグはsnapd v2.20.1で修正されました。)

サーバー側では、これらすべてが「変更」で発生しています。あなたはそれらについてもっと読むことができます here ですが、あなたの目的のために、あなたはこの特定の変更を中止したいだけです。それを行うには、次を実行します:

$ snap changes
<snip>
203  Doing   2016-06-24T12:17:45Z  -  Install "nextcloud" snap

ID、203、および現在「実行中」であるという事実に注意してください。その操作を中止するには、変更IDを使用します。

$ Sudo snap abort 203

そして、変更は停止するはずです。ただし、変更が途中で凍結したという事実は、それを中止する能力の前兆とは言えません。動作しない場合は、再起動してみてください。それでもまだ修正されていないようで、すべてのスナップとそのデータを失っても構わない場合は、 このスクリプト を使用してスナップ状態を完全にリセットできます。

38
Kyle