Главная
» LINUX
»
Как отключить Snap в Ubuntu и удалить snapd
Как отключить Snap в Ubuntu и удалить snapd
Если вы хотите использовать систему Ubuntu без пакетов Snap, то наиболее чистый подход заключается в том, чтобы сначала удалить установленные пакеты Snap, удалить среду выполнения snapd , а затем, при необходимости, заблокировать snapdповторную установку пакета Debian. Не начинайте с принудительного отмонтирования /snapили удаления системных папок, пока пакеты Snap еще установлены.
Данное руководство применимо к стандартным установкам Ubuntu Desktop и Ubuntu Server. Оно не предназначено для Ubuntu Core, которая построена на основе Snap. В текущей документации Canonical по выводу Snap из эксплуатации также рекомендуется удалять установленные Snap перед удалением пакета snapd.
Перед отключением Snap
Удаление пакетов Snap также может привести к удалению приложений, на которые вы полагаетесь, включая программное обеспечение, которое Ubuntu распространяет преимущественно в виде пакетов Snap. Перед этим сделайте резервную копию всего важного. Данные приложений Snap могут храниться как ~/snap/для текущего пользователя, так и /var/snap/для системных данных, как описано в справочнике Canonical по расположению данных Snap .
Также обратите внимание, что некоторые пакеты Debian для Ubuntu предназначены для установки Snap-пакетов. Например, пакет Firefox в текущих версиях Ubuntu — это пакет, который устанавливает Snap-пакет Firefox, а не традиционный DEB-пакет Firefox. Если вы навсегда заблокируете установку Snap-пакетов snapd, пакеты, зависящие от них, могут перестать устанавливаться в обычном режиме.
1. Перечислите все установленные Snap-пакеты.
Откройте терминал и выполните следующую команду:
snap list
Точный список зависит от версии Ubuntu и от того, что у вас установлено. Начните с пользовательских приложений, затем удалите вспомогательный контент или базовые пакеты Snap. Если базовый пакет Snap по-прежнему необходим для другого пакета Snap, snapd откажется удалять его, пока не будет удален зависимый пакет.
Используйте команду `snap list`, чтобы увидеть, что необходимо удалить перед деинсталляцией `snapd`. Названия пакетов в вашей системе могут отличаться.
2. Удалите установленные защелки.
Удаляйте каждый Snap-пакет приложений по имени. Использование этой функции --purgeпропускает автоматическое создание снимка удаления и немедленно удаляет данные этого Snap-пакета, поэтому используйте её только после того, как вы создали резервную копию всего необходимого. Компания Canonical описывает это поведение в своём руководстве по удалению Snap-пакетов .
Это лишь примеры; пропускайте все неустановленные имена. Повторите команду для оставшихся пакетов приложений, затем для пакетов контента и базовых пакетов, которые больше не нужны. Запускайте команду snap listснова, пока snapdне останется только один пакет или пока не останется ни одного пакета.
Удаляйте пакеты Snap приложений перед созданием базовых пакетов Snap. Параметр --purge предотвращает автоматическое создание снимка Snapd во время удаления.
3. Удалите snapd и пакет snapd.
Если этот элемент snapdпо-прежнему отображается snap list, удалите его после удаления всех остальных элементов:
sudo snap remove snapd --purge
Затем удалите пакет Debian, который предоставляет демон Snap и инструменты командной строки:
sudo apt remove --purge snapd
Согласно документации Canonical по выводу из эксплуатации, удаление snapdпакета Debian приводит к удалению основных системных каталогов Snap, включая /var/snap, /var/lib/snapd, /var/cache/snapd, и /snap. Это означает, что прежние рекомендации по принудительному размонтированию основных пакетов Snap или немедленному выполнению деструктивных rm -rfкоманд над этими системными путями обычно не требуются.
Удаление пакета snapd в Debian приводит к удалению демона Snap и его основных системных каталогов.
4. Удалите оставшиеся данные Snap для каждого пользователя.
Удаление пакетов не обязательно приводит к удалению данных Snap, хранящихся в домашнем каталоге каждого пользователя. После подтверждения того, что эти файлы вам больше не нужны, удалите каталоги Snap текущего пользователя:
rm -rf "$HOME/snap" "$HOME/.snap"
Если на компьютере несколько учетных записей пользователей, проверьте каждую домашнюю директорию отдельно, вместо того чтобы удалять данные пользователей вслепую. После очистки выйдите из системы и войдите снова или перезагрузите компьютер, чтобы обновить сессию.
Если вам нужно было пока только удалить Snap, можете остановиться на предыдущем шаге. Если вы хотите, чтобы APT отклонял будущие snapdустановки, создайте файл настроек APT:
sudo nano /etc/apt/preferences.d/nosnap.pref
Добавьте эти три строки:
Package: snapd
Pin: release a=*
Pin-Priority: -10
Сохраните файл, затем проверьте результат:
apt-cache policy snapd
В официальном руководстве APT по apt_preferences указано, что приоритет ниже нуля предотвращает установку соответствующей версии. Такой компромисс является преднамеренным: любой необходимый пакет snapdможет не установиться, пока вы не удалите этот параметр.
Дополнительный отрицательный APT-контакт предотвращает автоматическую переустановку Snap. Используйте его только в том случае, если вы намерены отказаться от Snap в системе.
Как повторно включить Snap позже
Чтобы снять блокировку и восстановить поддержку Snap, удалите файл настроек и переустановите его snapd:
Затем выйдите из системы и войдите снова или перезагрузите компьютер. Руководство по установке snapd для Ubuntu от Canonical подтверждает, что установка snapdпакета восстанавливает поддержку Snap в Ubuntu.