Wie entferne ich eine unvollständige oder fehlerhafte Snap-Installation von nextcloud auf einem Raspberry Pi?

22

Zunächst die Einschränkung: Ich verstehe, dass diese Frage Mate und einen Himbeer-Pi betrifft. Wenn Sie sie also außerhalb des Bereichs dieses Forums betrachten, ignorieren Sie sie einfach. Aber auf die Chance, dass es hilfreich oder typisch für etwas ist, bei dem es um Snaps oder diese Plattform geht, kommt es an.

Ich habe mich entschlossen, den nextcloud-Snap zu installieren. Es warf eine Menge Fehler und schien in der Mitte des Prozesses (für mehr als eine Stunde) einzufrieren. Ich habe es getötet und nur beschlossen, es zu versuchen und zu entfernen. Die Installation sah aus wie ...

$ 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

Wenn ich versuche, die nächste Wolke zu entfernen, erhalte ich

Fehler: "nextcloud" kann nicht entfernt werden: Snap "nextcloud" hat Änderungen in Bearbeitung

In erster Linie möchte ich den Snap ordnungsgemäß entfernen und den Speicherplatz von der erstellten Partition wiederherstellen. Wenn Partition der richtige Begriff ist?

$ 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 /

Ich habe es versucht

snap bricht nextcloud ab

und bekam

Fehler: Änderung mit der ID "nextcloud" kann nicht gefunden werden

Ich sollte auch beachten, dass es nicht als installiert angezeigt wird, da ich nur Folgendes erhalte

$ snap list
Name Version Rev Entwickler Notes
ubuntu-core 16.04 + 20160531.12-01 120 canonical -

Obwohl es in ... auftaucht.

$ snap interfaces
: network nextcloud
: nextcloud mit Netzwerkanbindung

Ich habe es versucht

$ 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

Aber die Partition ist immer noch da.

** Update, ich habe den gesamten Prozess zu Debug-Zwecken erneut ausgeführt und ihn nach dem Befehl "snap abort 1" stehen lassen. Irgendwann scheint sich etwas im Hintergrund erledigt zu haben, weil lsblk nichts anzeigt und die Abfrage der Snap-Interfaces nichts anzeigt.

Dennis
quelle

Antworten:

44

Der snapBefehl besteht eigentlich aus zwei Komponenten, Server und Client. Sie interagieren mit dem Kunden. Wenn Sie den Installationsvorgang auf der Clientseite abgebrochen haben, ist dies der einzige Ort, an dem Sie ihn abgebrochen haben - der Client. Es wurde Ihnen also nicht mehr angezeigt, dass es installiert wurde, aber es wurde noch installiert (dies ist ein Fehler ). ( Update: Dieser Fehler wurde in snapd v2.20.1 behoben.)

Auf der Serverseite geschieht all dies in "Änderungen". Sie können mehr über sie lesen hier , sondern auch für Ihre Zwecke, wollen Sie nur Abbruch dieser spezifischen Veränderungen. Führen Sie dazu Folgendes aus:

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

Notieren Sie sich die ID 203 und die Tatsache, dass sie gerade ausgeführt wird. Um diesen Vorgang abzubrechen, verwenden Sie die Änderungs-ID:

$ sudo snap abort 203

Und die Veränderung sollte aufhören. Ich muss jedoch sagen, dass die Tatsache, dass die Änderung auf halbem Weg eingefroren ist, nicht gut für Ihre Fähigkeit ist, sie abzubrechen. Wenn es nicht funktioniert, starten Sie es vielleicht neu. Wenn dies immer noch nicht behoben zu sein scheint und Sie in Ordnung sind, alle Ihre Snaps und ihre Daten zu verlieren, können Sie den snapd-Status mit diesem Skript vollständig zurücksetzen .

Kyle
quelle
Ich werde erstmal upvoten, weil das Skript die Partition tatsächlich entfernt und dies als mein primäres Ziel angegeben wurde. Ich habe das getan und bin dann den gesamten Prozess durchgegangen, um Fehlermeldungen zu sammeln, und habe die Frage aktualisiert, um diese Informationen sowie die Tatsache widerzuspiegeln, dass, wie Sie sagten, das Einfrieren darauf hindeutete, dass der Abbruch und das Entfernen nicht funktionieren würden. Ich werde einen Tag warten, um zu sehen, ob es eine sauberere Möglichkeit gibt, nextcloud loszuwerden, und wenn nicht, werde ich dies aufgrund der Wirksamkeit des Skripts akzeptieren. Danke
Dennis
Ich bin ein wenig verwirrt in Bezug auf die "Partition", auf die Sie sich beziehen. Snapd partitioniert nichts. Worauf genau beziehen Sie sich?
Kyle
Ich habe die Informationen in der Frage aktualisiert. Möglicherweise ist die Terminologie falsch, aber ich spreche von einer Partition, die in lsblk angezeigt wird. Sie werden auch in Dateimanagern als Datenträger angezeigt, obwohl mir anscheinend nicht klar ist, um welche Container es sich handelt. Sie können auch anhand des Updates am Ende erkennen, dass Ihr Rat, den jeweiligen Prozess abzubrechen, tatsächlich funktioniert hat (wenn ich geduldig gewesen wäre).
Dennis
Randbemerkung, ich sehe aus Ihrem Blog, dass Sie anscheinend "der Mann" zu diesem Thema sind. Wenn ich irgendetwas zur Verfügung stellen kann, das nützlich wäre: Warum dies überhaupt nicht funktioniert hat, lassen Sie es mich bitte wissen.
Dennis
Haha, oh kaum, ich schreibe nur manchmal. Schnappschüsse sind einfach Squash-Bilder, die dann an der richtigen Stelle angebracht werden /snap, was Sie dort sehen. In Bezug auf den Fehler sieht es nach Kernelproblemen bei armhf für MATE aus. Würde es Ihnen etwas ausmachen, einen Fehler mit diesen Informationen zu protokollieren, damit wir ihn ordnungsgemäß untersuchen können?
Kyle