Как удалить неполную или сломанную установку snapcloud на Raspberry Pi?

22

Во-первых, предостережение: я понимаю, что этот вопрос касается Mate и Raspberry Pi, поэтому, если вы рассматриваете его вне рамок этого форума, просто проигнорируйте его. Но на случай, что это может быть полезным или типичным для чего-то, связанного с привязками или той платформой, здесь идет.

Я решил попробовать установить snapcloud. Он выдал кучу ошибок и, казалось, завис в середине процесса (более часа). Я убил это и просто решил попытаться удалить это. Установка выглядела как ....

$ 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» имеет изменения в процессе

В первую очередь я хотел бы правильно удалить оснастку и восстановить пространство из созданного ею раздела. Если раздел является правильным термином ??

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

Я должен также отметить, что он не отображается как установленный, поскольку я получаю только следующее

$ snap list
Имя Версия Rev Примечания разработчика
ubuntu-core 16.04 + 20160531.12-01 120 canonical -

Хотя это появляется в ....

Интерфейсы $ snap
: сеть nextcloud
: связывание сети 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 ничего не показывает, а запрос интерфейсов привязки ничего не показывает.

Деннис
источник

Ответы:

44

Команда на snapсамом деле состоит из двух компонентов, сервера и клиента. Вы взаимодействуете с клиентом. Когда вы отменили операцию установки на стороне клиента, это единственное место, где вы отменили ее - клиент. Так что он перестал показывать вам, что он устанавливал, но он все еще устанавливал (это ошибка ). ( Обновление: эта ошибка была исправлена ​​в snapd v2.20.1.)

На стороне сервера все это происходит в «изменениях». Вы можете прочитать больше о них здесь , но для ваших целей вы просто хотите отменить это конкретное изменение. Для этого запустите:

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

Обратите внимание на идентификатор, 203, и тот факт, что он «делает» это прямо сейчас. Чтобы прервать эту операцию, вы используете идентификатор изменения:

$ sudo snap abort 203

И изменение должно прекратиться. Тем не менее, я должен сказать, что тот факт, что изменение замерзло на полпути, не сулит ничего хорошего вашей способности прервать его. Если это не работает, возможно, попробуйте перезагрузить компьютер. Если кажется, что это все еще не исправлено, и вы в порядке, теряя все свои снимки и их данные, вы можете полностью сбросить состояние привязки с помощью этого сценария .

рукав моря
источник
Сейчас я собираюсь поднять голос, потому что скрипт действительно избавляется от раздела, и это было заявлено как моя основная цель. Я сделал это, а затем вернулся через весь процесс сбора сообщений об ошибках и обновил вопрос, чтобы отразить эту информацию, а также тот факт, что, как вы заявили, замораживание указало, что прерывание и удаление не будет работать. Я дам ему день, чтобы узнать, есть ли более чистый способ просто избавиться от nextcloud, и если нет, примут это из-за эффективности сценария. Спасибо
Денис
Я немного запутался в отношении "раздела", на который вы ссылаетесь. Snapd ничего не разбивает. На что именно вы ссылаетесь?
Кайл
Я обновил информацию в вопросе. Возможно, у меня неправильная терминология, но я говорю о том, что для меня похоже на раздел, который отображается в lsblk. Они также отображаются в файловых менеджерах как диски, хотя мне, видимо, не ясно, что такое контейнеры. В конце обновления вы также увидите, что ваш совет отменить конкретный процесс действительно сработал (если бы я был терпеливым).
Деннис
Заметьте, я вижу из вашего блога, что вы, очевидно, "человек" в этой теме. Если есть что-то, что я могу предоставить, это было бы полезно: почему это не сработало, пожалуйста, дайте мне знать.
Деннис
Хаха, ой, я просто иногда пишу. Снимки - это просто изображения squashfs, которые затем монтируются на свои места /snap, что вы и видите. Что касается сбоя, похоже, что некоторые проблемы с ядром на armhf для MATE. Не могли бы вы зарегистрировать ошибку с этой информацией, чтобы мы могли провести надлежащее расследование?
Кайл