Come posso rimuovere un'installazione snap incompleta o rotta di nextcloud su un Raspberry Pi?


22

In primo luogo l'avvertimento: capisco che questa domanda coinvolge Mate e un Raspberry Pi, quindi se lo consideri al di fuori del regno di questo forum, ignoralo. Ma sulla possibilità che possa essere utile o tipico di qualcosa che coinvolge gli snap o quella piattaforma, ecco qui.

Ho deciso di provare a installare lo snap nextcloud. Ha gettato una tonnellata di errori e sembrava bloccarsi nel mezzo del processo (per oltre un'ora). L'ho ucciso e ho appena deciso di provare a rimuoverlo. L'installazione sembrava ...

$ 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

Quando provo lo snap rimuovi nextcloud ottengo

errore: impossibile rimuovere "nextcloud": lo snap "nextcloud" presenta delle modifiche in corso

Quello che vorrei principalmente fare è rimuovere correttamente lo snap e recuperare lo spazio dalla partizione che ha creato. Se la partizione è il termine corretto ??

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

Provai

snap annulla nextcloud

e ottenuto

errore: impossibile trovare la modifica con ID "nextcloud"

Dovrei anche notare che non viene visualizzato come installato in quanto ottengo solo i seguenti

$ snap list
Nome Versione Rev Note dello sviluppatore
ubuntu-core 16.04 + 20160531.12-01 120 canonico -

Anche se si presenta in ....

$ snap interfaces
: network nextcloud
: network-bind nextcloud

Provai

$ 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

Ma la partizione è ancora lì.

** Aggiornamento, ho eseguito di nuovo l'intero processo per scopi di debug e l'ho lasciato dopo il comando "snap abort 1". Ad un certo punto qualcosa sembra essere stato completato in background perché lsblk non mostra nulla e la query delle interfacce di snap non mostra nulla.

Risposte:


44

Il snapcomando è in realtà composto da due componenti, server e client. Stai interagendo con il cliente. Quando hai annullato l'operazione di installazione sul lato client, questo è l'unico posto in cui l'hai annullata: il client. Quindi ha smesso di mostrarti che stava installando, ma stava ancora installando (questo è un bug ). ( Aggiornamento: questo errore è stato corretto in snapd v2.20.1.)

Sul lato server, tutte queste cose stanno accadendo in "modifiche". Puoi leggere di più su di loro qui , ma per i tuoi scopi, vuoi semplicemente interrompere questo cambiamento specifico. Per farlo, esegui:

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

Nota l'ID 203 e il fatto che lo stia "facendo" proprio ora. Per interrompere tale operazione, utilizzare l'ID modifica:

$ sudo snap abort 203

E il cambiamento dovrebbe fermarsi. Tuttavia, devo dire che il fatto che il cambiamento si sia bloccato a metà strada non è di buon auspicio per la tua capacità di interromperlo. Se non funziona, forse prova a riavviare. Se questo non sembra averlo ancora risolto e stai bene perdendo tutti i tuoi snap e i loro dati, puoi resettare completamente lo stato snapd con questo script .


Andiamo a votare per ora perché lo script in effetti elimina la partizione e questo è stato dichiarato come il mio obiettivo principale. L'ho fatto e poi sono tornato indietro attraverso l'intero processo per raccogliere i messaggi di errore e ho aggiornato la domanda per riflettere tali informazioni, nonché il fatto che, come dichiarato, il congelamento indicava che l'interruzione e la rimozione non avrebbero funzionato. Gli darò un giorno per vedere se esiste un modo più pulito per sbarazzarsi di nextcloud e in caso contrario lo accetterò a causa dell'efficacia della sceneggiatura. Grazie
Dennis,

Sono un po 'confuso riguardo alla "partizione" a cui ti riferisci. Snapd non partiziona nulla. A cosa ti riferisci esattamente?
Kyle,

Ho aggiornato le informazioni nella domanda. Potrei avere la terminologia sbagliata, ma sto parlando di quello che sembra una partizione che appare in LSBK. Si presentano anche nei file manager come dischi, anche se a quanto pare non sono chiaro su quali siano i contenitori. Alla fine puoi anche vedere dall'aggiornamento che i tuoi consigli per interrompere il processo in particolare hanno funzionato (se fossi stato paziente).
Dennis,

Nota a margine, vedo dal tuo blog che apparentemente sei "l'uomo" su questo argomento. Se c'è qualcosa che posso fornire che sarebbe utile per quanto riguarda: perché questo non ha funzionato in primo luogo, per favore fatemelo sapere.
Dennis,

Haha, oh quasi, scrivo solo a volte. Gli snap sono semplicemente immagini di squashfs che vengono poi montate in posizione /snap, che è ciò che vedi lì. Per quanto riguarda l'errore, sembra che alcuni problemi del kernel su armhf per MATE. Ti dispiacerebbe registrare un bug con queste informazioni in modo che possiamo investigare correttamente?
Kyle,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.