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


22

最初の警告:この質問には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正規-

に表示されますが...

$ snap interfaces
: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は何も表示せず、snap interfacesクエリは何も表示しないため、ある時点で何かがバックグラウンドで完了したようです。

回答:


44

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

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

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

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

$ sudo snap abort 203

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


スクリプトが実際にパーティションを削除し、それが私の第一の目標として述べられたので、今のところ賛成票に行きます。それを行った後、プロセス全体に戻ってエラーメッセージを収集し、その情報を反映するように質問を更新しました。また、先ほど述べたように、凍結によって中止と削除が機能しないことが示されました。nextcloudを削除するだけのクリーンな方法があるかどうかを確認する日を設け、そうでない場合はスクリプトの有効性のためにこれを受け入れます。ありがとう
デニス

あなたが言及する「パーティション」に関して、私は少し混乱しています。Snapdは何も分割しません。あなたは正確に何に言及していますか?
カイル

質問の情報を更新しました。用語が間違っているかもしれませんが、lsblkに表示されるパーティションのように見えるものについて話しています。また、ファイルマネージャーではディスクとして表示されますが、コンテナーが何であるかは明らかにわかりません。また、最後の更新で、特定のプロセスを中止するというアドバイスが実際に機能していたことがわかります(私が我慢していた場合)。
デニス

サイドノート、あなたのブログから、あなたは明らかにこのトピックの「男」であることがわかります。私が提供できる何かがあれば、それは再:なぜこれがそもそもうまくいかなかったのかを教えてください。
デニス

ハハ、ほとんどない、私は時々書くだけです。スナップは単にsquashfsイメージであり/snap、それはで所定の場所にマウントされます。失敗に関しては、MATEのarmhfでのカーネルの問題のようです。あなたは気になり、バグをログに記録する、我々は適切に調査できるように、この情報を?
カイル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.