Проблемы с запуском или переустановкой приложений snap, например, Firefox, Skype.

Вопрос или проблема

В попытке освободить место на диске я запустил команду sudo apt purge snapd. Теперь ряд приложений, таких как Firefox, больше не работают:

firefox &
...
Команда '/usr/bin/firefox' требует установки Firefox через snap.
Пожалуйста, установите его с помощью:

snap install firefox

Но когда я пытаюсь его установить, система сообщает, что Firefox уже установлен

sudo snap install firefox
snap "firefox" уже установлен, см. 'snap help refresh'

Я думаю, это более крупная проблема с snap, потому что у меня такая же проблема с Skype

$skype &
 не удается найти базовый snap core18: Нет такого файла или каталога

$ sudo snap install skype
snap "skype" уже установлен, см. 'snap help refresh'

Вам нужно переустановить snapd.

sudo apt install snapd должно решить это. Snaps не могут работать без snapd, но так как это две отдельные системы пакетов, apt не знает о snaps – поэтому они не удаляются при удалении snapd.

Проблема в том, что удаление snapd никогда не проходит полностью успешно.

$ sudo apt remove --purge snapd
...
Удаление snap evince и ревизии 1044
Удаление snap-evince-1044.mount
Остановка snap-firefox-5561.mount
Остановка юнита snap-firefox-5561.mount
Ожидание, пока юнит snap-firefox-5561.mount остановится [попытка 1]
snap-firefox-5561.mount остановлен.
Удаление snap firefox и ревизии 5561
rm: не удается удалить '/var/snap/firefox/common/host-hunspell/en_GB.aff': Файловая система только для чтения
rm: не удается удалить '/var/snap/firefox/common/host-hunspell/en_US.dic': Файловая система только для чтения
rm: не удается удалить '/var/snap/firefox/common/host-hunspell/en_GB.dic': Файловая система только для чтения
rm: не удается удалить '/var/snap/firefox/common/host-hunspell/en_US.aff': Файловая система только для чтения
dpkg: ошибка обработки пакета snapd (--purge):
 подпроцесс post-removal сценария установленного пакета snapd вернул код ошибки 1
Очистка файлов конфигурации для firefox (1:1snap1-0ubuntu2) ...
Во время обработки возникли ошибки:
 snapd
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)

После некоторого поиска в Google я нашел предложение размонтировать hunspell

sudo umount /var/snap/firefox/common/host-hunspell

После этого мне наконец удалось переустановить snapd и firefox

sudo apt remove --purge snapd
sudo apt install snapd
sudo snap install firefox

Ответ или решение

Когда пользователь пытается удалить пакет snapd чтобы освободить место на диске, он может столкнуться с рядом проблем, особенно если у него были установлены приложения, работающие через Snaps, такие как Firefox и Skype, как это описано в вашем примере. В результате удаления системы snapd приложения, которые используют этот пакетный менеджер, перестают работать.

Теория

Пакетный менеджер Snap и его демон snapd управляют установкой и выполнением приложений в формате snap. Snaps — это универсальные пакеты, которые создаются так, чтобы работать на большинстве дистрибутивов Linux с установленным snapd. Когда snapd удалён из системы, любые snap-приложения теряют свою функциональность, потому что, по сути, snapd управляет всей инфраструктурой, необходимой для запуска этих приложений.

Проблемы, связанные с удалением snapd

Когда вы выполняете команду sudo apt purge snapd, вы удаляете snapd и все загруженные пакеты, им управляемые. Однако apt и snap — это разные системы управления пакетами, и из-за этого удаление snapd не ведёт к автоматическому удалению самих snap-пакетов. Это приводит к неполадкам, когда система считает, что приложения установлены, но они не могут функционировать без snapd.

Пример

В вашем конкретном случае, после удаления snapd, система сообщает, что Firefox и Skype установлены, но они не могут быть запущены из-за отсутствия демона. Попытка переустановки приложения через snap install firefox или snap install skype выдает сообщение, что приложения уже инсталлированы, хотя они не работают.

Решение

На примере вашей проблемы, основные шаги для решения выглядят следующим образом:

  1. Повторная установка snapd: Сначала верните пакет snapd в систему. Этого можно добиться с помощью команды:

    sudo apt install snapd

    Это действие должно восстановить необходимую инфраструктуру для snap-приложений.

  2. Чистка проблемных файлов: Если вы ранее пытались удалить snapd и столкнулись с ошибками, связанными с файловой системой, как это случилось с вами, необходимо сначала отключить соответствующие монтировки:

    sudo umount /var/snap/firefox/common/host-hunspell
  3. Полное удаление snapd и начинаем с чистого листа:

    sudo apt remove --purge snapd
    sudo apt install snapd

    Эти команды обеспечивают чистую установку, устраняя все остаточные файлы и конфигурации, которые могут влиять на работу приложений. Для полного удаления используется снова команда --purge, чтобы удалились настройки программ, связанные с snapd.

  4. Переустановка приложений:
    После успешной повторной установки snapd можно переустановить приложения snap:

    sudo snap install firefox
    sudo snap install skype

Заключение

Задача восстановления функционала snap-приложений после удаления snapd сводится к правильному и последовательному выполнению команд по удалению и повторной установке snapd и snap-приложений. Важно помнить, что перед удалением snapd следует тщательно оценить, какие приложения зависят от него, чтобы избежать проблем с их работоспособностью в будущем.

Элемент TEA был рассмотрен в предоставленной информации: "Теория" объясняет, как работает пакет snapd и его зависимость от snap-приложений, "Пример" представляет конкретный пользовательский опыт, и "Применение" описано через пошаговое руководство, предложенное как решение проблемы. Причина возникновения ошибки также объяснена: apt и snap — это отдельные системы, и apt не контролирует установки snap.

Оцените материал
Добавить комментарий

Капча загружается...