如何在Raspberry Pi上删除nextcloud的不完整或损坏的快照安装?

首先需要注意的是:我理解这个问题涉及Mate和Raspberry Pi,所以如果你认为它超出了本论坛的范围,就会忽略它。 但是,对于它可能有用或典型的涉及快照或平台的事情,这里有。

我决定尝试安装nextcloud snap。 它抛出了大量的错误,似乎在过程中间冻结了一个多小时。 我杀了它,然后决定尝试删除它。 安装看起来像….

$ 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”:snap“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”的更改

我还应该注意,它没有显示为已安装,因为我只得到以下内容

$ snap list
名称版本Rev Developer Notes
ubuntu-core 16.04 + 20160531.12-01 120 canonical –

虽然它确实出现在….

$ snap接口
:网络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接口查询则没有显示任何内容。

snap命令实际上由两个组件组成,服务器和客户端。 您正在与客户进行互动。 当您取消客户端上的安装操作时,这是您取消它的唯一位置 – 客户端。 所以它停止向你显示它正在安装,但它仍在安装(这是一个错误 )。 ( 更新:此错误已在snapd v2.20.1中修复。)

在服务器端,所有这些都发生在“变化”中。 您可以在此处阅读有关它们的更多信息,但出于您的目的,您只想中止此特定更改。 为此,运行:

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

注意ID,203,以及它现在“正在”它的事实。 要中止该操作,请使用更改ID:

 $ sudo snap abort 203 

而改变应该停止。 但是,我必须说,改变中途的变化对你的中止能力来说并不是一个好兆头。 如果它不起作用,也许尝试重新启动。 如果仍然没有修复它并且您可以丢失所有快照及其数据,则可以使用此脚本完全重置snapd状态。