How to Remove Snap Apps & Block Them in Ubuntu 22.04
Ubuntu is distributing more applications as the universal Snap package, but some users don’t like them. So I’m writing this tutorial for those want to completely get rid of Snap and prevent it from being installed back.
NOTE: Before getting started, please backup your app data, e.g., Firefox bookmarks. Attention that Ubuntu Software will also be removed after following this tutorial.
Step 1. Remove Snap apps and the Daemon
Press Ctrl+Alt+T on keyboard to open a terminal window. When it opens, run the commands below one by one.
1.) List all installed snap applications:
snap list
They are by default Snap Store (Ubuntu Software), Firefox, default theme, and few core packages.
2.) Remove the apps one by one, Firefox and Snap-store go first, then theme package, gnome platform (in sandbox), and finally base packages and snapd daemon. NOTE: the package names may vary depends on “snap list” output.
sudo snap remove --purge firefox
sudo snap remove --purge snap-store
sudo snap remove --purge gnome-3-38-2004
Also run snap remove command to remove “gtk-common-themes”, “snapd-desktop-integration”, “bare”, “core20”, and finally “snapd”.
3.) Finally remove the Snap daemon package via apt:
sudo apt remove --autoremove snapd
Step 2. Block Snap package
After completely removed snap packages, you may prevent Ubuntu from installing them back by settings low priority for the Snapd package. Here’s how to do the trick inspired by the way Linux Mint 20 did.
1.) Press Ctrl+Alt+T on keyboard to open terminal. When it opens, run the command below to create and open a configuration file:
sudo gedit /etc/apt/preferences.d/nosnap.pref
When the file opens, paste lines below to tell refuse snapd from any repository:
# To prevent repository packages from triggering the installation of snap,
# this file forbids snapd from being installed by APT.Package: snapd
Pin: release a=*
Pin-Priority: -10
2. After save the file, refresh package cache via command:
sudo apt update
Now, whenever you try to installed a Snap package or the daemon, it outputs either unmet dependencies (snapd) or package has no installation candidate.
How to Restore:
If you change your mind, run the commands below at any time will install back the Snap apps.
Firstly, run command in terminal (Ctrl+Alt+T) to unblock the daemon:
sudo rm /etc/apt/preferences.d/nosnap.pref
Then, install Ubuntu Software via command:
sudo snap install snap-store
And install Firefox as snap if you want by running command:
sudo apt install firefox
Ji m
I’m a freelance blogger who started using Ubuntu in 2007 and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please comment to remind me outdated tutorial! And, notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me via [email protected] Buy me a coffee: https://ko-fi.com/ubuntuhandbook1
- How to Install Wine in Ubuntu.
- Install Gnome Software as.
9 responses to How to Remove Snap Apps & Block Them in Ubuntu 22.04
Thanks for this. All OK but one small error for us copy and paste enthusiasts. In Step 1 para 2.) should be “snapd-desktop-integration”
compizomania
Snap — это универсальный пакет, созданный Canonical (Ubuntu), который доступен для каждой операционной системы Linux, поддерживающей snapd: Ubuntu, Debian, Linux Mint, Gentoo, Arch Linux, Fedora, OpenWrt, OpenEmbedded, Yocto, openSUSE, Manjaro, Solus.
Более того, snap будет хорошо работать в любом дистрибутиве Linux без каких-либо дополнительных модификаций, так как он уже содержит все необходимые зависимости.
Snap-пакеты являются самодостаточными, в отличие от традиционных подходов к управлению пакетами Linux, такими как APT или YUM, которые требуют специальной адаптации для каждого дистрибутива и добавляют задержку между разработкой приложений и ее развертыванием для конечных пользователей.
Преимущества snap-пакетов:
Прежде чем начать установку snap-пакетов в дистрибутивах Linux, необходимо установить Менеджер пакетов snapd.
В каждом из дистрибутивов Linux, snapd устанавливается по-своему.
Инструкцию по установке snapd для каждого дистрибутива можно найти на официальной странице https://docs.snapcraft.io/core/install.
Инструкция по установке snapd:
После того как snapd установлен, вы можете устанавливать приложения посредством snap-пакетов.
Устанавливать snap-пакеты можно как из магазина Snap Store, так и посредством терминала.
1. Установка из магазина Snap Store.
Переходите по ссылке https://snapcraft.io/store в магазин Snap Store и выбираете программу, кликом на значке.
Нажимаете кнопку Install (Установить).
Копируете установочную терминальную команду на выполнение.
И выполняете её в терминале.
По окончании установки программы терминал известит вас об этом: ‘opera-software’ installed (‘приложение opera’ установлено).
Примечание. Терминальная команда sudo snap install название программы является универсальной для любого из перечисленных выше дистрибутивов Linux.
2. Установка snsp-пакетов непосредственно из терминала, без захода в магазин Snap Store.
Откройте терминал и выполните команду:
find в переводе с английского означает найти.
После выполнения этой команды, терминал выводит перечень/список snap-пакетов.
Если в команде указана конкретная программа, терминал вам выдаст возможный перечень версий программы для установки.
snap find opera
Скопируйте в установочную команду название выбранной версии и выполните команду в терминале. Пример:
sudo snap install —beta opera-beta
Примечание. Команда snap install opera-beta не перезаписывает установленную стабильную версию программы, они будут работать автономно. В системном меню вы найдёте обе программы.
Установка snap-пакетов требует root привилегий (sudo). Установка с правами пользователя на данный момент невозможна. При установке snap загружается в /var/lib/snapd/snaps и монтируется в /snap/имя_пакета.
Кроме того, создаются также юнит-файлы для каждого snap-пакета и добавляются в /etc/systemd/system/multi-user.target.wants/, для того чтобы snap-пакеты монтировались при каждом запуске системы.
Поиском в snap-пакетах (snap find weather) я нашёл очень интересную консольную программу погоды от Яндекс — yandex-weather-cli.
Выполните в терминале следующую команду на установку yandex-weather-cli.
sudo snap install yandex-weather-cli —edge
По окончании установки, введите и выполните команду:
yandex-weather-cli
Данная команда по умолчанию выводит в терминале погодные условия вашей местности:
Если вы к команде добавите искомый город (на английском языке) в нижнем регистре, то получите вывод погодных данных в этом городе. Например, я добавил г. Москва (moscow):
yandex-weather-cli moscow
Посмотреть список установленных snsp-пакетов
Вы можете просмотреть список установленных у вас snsp-пакетов командой:
list — список.
Мой вывод команды списка установленных программ посредством snap:
3. Удаление пакетов snap
Для того чтобы удалить пакет выполните в терминале: sudo snap remove имя пакета. Например:
sudo snap remove opera-beta
Подробней о командах snap можно познакомиться, выполнив команду в терминале:
Ubuntu snap – что это такое и с чем его едят?
Относительно недавно в Ubuntu появился новый инструмент — снапы (от англ. snap), но что это такое и как их использовать знают далеко не все пользователи.
Введение в снапы
Представим вполне реальную ситуацию. Пользователь устанавливает самую новую версию Ubuntu, пусть это будет версия 16.04 — именно в ней и появились впервые снапы по умолчанию. По определенным причинам пользователь отключает обновления. Такая ситуация не надумана. Мы все знаем, что после обновления системы Ubuntu, к сожалению, не всегда работает корректно и даже не всегда загружается.
Пользователя все устраивает и он спокойно себе использует дистрибутив некоторое время. Через несколько лет пользователь хочет установить новую версию приложения, например, браузера и обнаруживает, что он не может этого сделать.
Почему? Да потому что его дистрибутив устарел. для установки приложения нужны новые версии библиотек, а для их установки нужно обновить уже установленные пакеты. Иногда процесс настолько масштабный, что приходится обновлять дистрибутив. А ведь мы знаем, что пользователь не хочет этого делать по ряду причин, да и это опасно: система может быть разрушена нарушения связей между программами и библиотеками.
Вторая ситуация. Пусть у пользователя самая новая версия дистрибутива (на данный момент — это 18.10) — чтобы никто не упрекнул нас в надуманности ситуации. Мы знаем, что у традиционных пакетов есть зависимости и конфликты. Иногда нельзя установить то или иное приложение, поскольку его библиотеки конфликтуют с библиотеками уже установленными в системе.
Обе проблемы настолько обширны, что разработчики Ubuntu изобрели снапы. Все мы знакомы с понятием пакета. Пакет содержит саму программу, а также различные вспомогательные файлы — документацию, ресурсы (картинки, например), файлы локализации, сценарии Но пакет не содержит всего, что нужно для работы этой программы в системе. Например, если программе для работы нужна библиотека GL, то просто в пакете «прописывается» зависимость — нужно установить пакет для работы этого пакета. При установке программы менеджер пакетов (apt) производит разрешение зависимостей — устанавливает все необходимые для работы этой программы пакеты.
С одной стороны, такой подход позволяет экономить место на диске. Ведь одну и ту же библиотеку не нужно устанавливать несколько раз. С другой стороны, это порождает уже описанные ранее проблемы.
Снап — это решение всей головной боли, как пользователя, так и разработчика приложения. Снап можно считать таким пакетом, в котором содержится не только программа, но и все необходимые для ее работы библиотеки. Получается, что все, что нужно для работы программы содержится в снапе.
Snap: что это такое и как его установить на Linux
Если вы пользуетесь Linux, то наверняка знаете, что для установки программ на эту операционную систему существуют разные форматы пакетов. Например, на Ubuntu вы можете использовать apt или dpkg для установки deb-пакетов, на Fedora — dnf или rpm для установки rpm-пакетов. Каждый из этих форматов имеет свои преимущества и недостатки, но все они обладают одной общей проблемой — зависимостями.
Зависимости — это дополнительные библиотеки или компоненты, которые необходимы для работы программы. Если вы хотите установить программу из пакета, то вам нужно также установить все ее зависимости. Это может быть не так просто, потому что разные программы могут требовать разные версии одних и тех же библиотек. Кроме того, зависимости могут конфликтовать друг с другом или с системой, вызывая ошибки или нестабильность.
Чтобы решить эту проблему, в 2016 году компания Canonical, разработчик Ubuntu, представила новый формат пакетов для Linux — snap. Snap-пакеты — это контейнеризованные приложения, которые включают в себя все необходимые зависимости и работают изолированно от системы. Snap-пакеты можно устанавливать и обновлять на любом дистрибутиве Linux, поддерживающем snapd, не беспокоясь о совместимости или безопасности.
В этой статье мы расскажем вам подробнее о snap-пакетах, их особенностях, преимуществах и способах установки.
Компоненты snap-экосистемы
Существует пять основных компонентов в snap-экосистеме:
Snapd: это демон snap, который работает в фоновом режиме и управляет snap-пакетами на Linux-системе. Он отвечает за установку, обновление, удаление и запуск snap-пакетов, а также за настройку разрешений и конфигурации для них.
Snap: это командно-строчный интерфейс, который используется для установки и управления snap-пакетами на Linux-системе. С его помощью вы можете поискать, скачать, установить, обновить, удалить или запустить snap-пакеты.
Каналы: это способ определения, какая версия snap-пакета будет установлена и проверена на обновления. Каждый snap-пакет может иметь несколько каналов, например stable, candidate, beta или edge. Канал stable содержит самую стабильную и проверенную версию пакета, а канал edge — самую свежую и экспериментальную. Вы можете выбирать канал при установке или переключаться между ними в любое время.
Snap Store: это магазин приложений для Linux, где разработчики публикуют свои snap-пакеты, а пользователи Linux устанавливают их. Snap Store содержит тысячи snap-пакетов разных категорий, таких как разработка, игры, серверы и т.д. Вы можете просматривать и устанавливать snap-пакеты из Snap Store через веб-сайт или через графический интерфейс.
Snapcraft: это инструмент для разработки и публикации snap-пакетов. С его помощью вы можете легко создать свой собственный snap-пакет из существующего приложения или написать новое с нуля. Snapcraft поддерживает разные языки программирования и фреймворки, такие как Python, Java, Go, Node.js и т.д.
Преимущества snap-пакетов
Snap-пакеты имеют ряд преимуществ перед традиционными пакетами для Linux:
Автоматическое обновление: snap-пакеты обновляются автоматически в фоновом режиме по расписанию или по требованию. Вы всегда получаете последнюю версию приложения без необходимости проверять наличие обновлений или запускать команды для их установки. Если обновление по какой-то причине не удалось или вызвало проблемы, то snap-пакет автоматически откатывается к предыдущей стабильной версии, сохраняя ваши данные и настройки. Таким образом, вы не рискуете потерять работоспособность приложения или важную информацию.
Изоляция: snap-пакеты работают изолированно от системы и других приложений. Они не зависят от системных библиотек или компонентов, а содержат все необходимые зависимости внутри себя. Это означает, что вы можете устанавливать разные версии одного и того же приложения или разные приложения, использующие одни и те же библиотеки, без конфликтов или ошибок. Кроме того, snap-пакеты имеют ограниченный доступ к системным ресурсам, таким как файлы, сеть, аудио и т.д. Вы можете контролировать, какие разрешения выдаются snap-пакетам, и изменять их по своему усмотрению.
Одинаковое поведение на разных дистрибутивах: snap-пакеты работают одинаково на любом дистрибутиве Linux, поддерживающем snapd. Вы не нуждаетесь в специальных адаптациях или настройках для разных версий или вариантов Linux. Вы можете быть уверены, что ваше приложение будет работать так же, как вы ожидаете, на любом устройстве с Linux.
Удобство разработки и публикации: snap-пакеты легко создавать и публиковать с помощью инструмента Snapcraft. Вы можете использовать разные языки программирования и фреймворки для разработки своего приложения и упаковывать его в snap-пакет с минимальными изменениями. Вы можете также легко тестировать и отлаживать свое приложение в разных каналах и на разных дистрибутивах. Вы можете публиковать свое приложение в Snap Store, где оно будет доступно для миллионов пользователей Linux.
Недостатки snap-пакетов
Snap-пакеты также имеют некоторые недостатки, которые нужно учитывать:
Большой размер: snap-пакеты имеют больший размер, чем традиционные пакеты для Linux, потому что они содержат все зависимости внутри себя. Это может занимать больше места на диске и потреблять больше трафика при загрузке или обновлении.
Медленная скорость запуска: snap-пакеты запускаются медленнее, чем традиционные пакеты для Linux, потому что они требуют дополнительного времени для монтирования и проверки целостности. Это может быть заметно при запуске сложных или ресурсоемких приложений.
Ограниченный доступ к системным ресурсам: snap-пакеты имеют ограниченный доступ к системным ресурсам, таким как файлы, сеть, аудио и т.д. Это повышает безопасность и изоляцию, но также может приводить к проблемам с функциональностью или интеграцией с другими приложениями. Например, некоторые snap-пакеты могут не иметь доступа к вашему домашнему каталогу или к вашему принтеру. Вы можете изменять разрешения для snap-пакетов, но это может повысить риск нарушения безопасности или стабильности.
Возможные проблемы совместимости: snap-пакеты могут вызывать проблемы совместимости с некоторыми системными компонентами или другими приложениями. Например, некоторые snap-пакеты могут не работать правильно с AppArmor или SELinux, системами безопасности Linux. Также некоторые snap-пакеты могут не поддерживать темы или иконки, используемые в вашем рабочем окружении.
Способы установки snap-пакетов
Существует два основных способа установки snap-пакетов на Linux: через командную строку или через графический интерфейс Snap Store.
Чтобы установить snap-пакет через командную строку, вам нужно сначала убедиться, что на вашей системе установлен и запущен демон snapd. Snapd уже предустановлен и готов к работе на следующих дистрибутивах:
Ubuntu
Linux Mint
Debian
Fedora
Solus
Zorin OS
Для других дистрибутивов вам нужно установить snapd вручную, следуя инструкциям на этой странице.
После того, как вы установили и запустили snapd, вы можете использовать команду snap для установки и управления snap-пакетами.
Например, чтобы установить snap-пакет hello-world, вы можете выполнить следующую команду:
sudo snap install hello-world
Чтобы запустить установленный snap-пакет, вы можете использовать команду snap run или просто ввести имя пакета:
snap run hello-world
# или
hello-world
Чтобы обновить все установленные snap-пакеты, вы можете использовать команду snap refresh:
sudo snap refresh
Чтобы удалить snap-пакет, вы можете использовать команду snap remove:
sudo snap remove hello-world
Чтобы посмотреть список всех установленных snap-пакетов, вы можете использовать команду snap list:
Чтобы поискать доступные для установки snap-пакеты, вы можете использовать команду snap find:
Чтобы получить больше информации о конкретном snap-пакете, вы можете использовать команду snap info:
Чтобы изменить разрешения или конфигурацию для конкретного snap-пакета, вы можете использовать команды snap connect, snap disconnect или snap set:
Для более подробной информации о командах и опциях snap вы можете использовать команду snap help или посмотреть эту страницу.
Чтобы установить snap-пакет через графический интерфейс Snap Store, вам также нужно сначала убедиться, что на вашей системе установлен и запущен демон snapd.
Затем вам нужно установить приложение Snap Store, если оно еще не установлено на вашей системе. Вы можете скачать его из этой страницы или выполнить следующую команду:
sudo snap install snap-store
После того, как вы установили приложение Snap Store, вы можете запустить его из меню или панели задач вашего рабочего окружения. Вы увидите главный экран Snap Store, где вы можете просматривать и устанавливать snap-пакеты разных категорий, таких как разработка, игры, серверы и т.д.
Чтобы установить snap-пакет из Snap Store, вам нужно найти его по имени или ключевому слову в поисковой строке или выбрать его из списка рекомендованных или популярных пакетов. Затем вам нужно нажать на кнопку Установить и ввести свой пароль, если потребуется. После того, как установка завершится, вы можете запустить snap-пакет из меню или панели задач вашего рабочего окружения.
Чтобы обновить все установленные snap-пакеты из Snap Store, вам нужно нажать на значок обновления в правом верхнем углу экрана и подождать, пока все обновления будут загружены и установлены. Вы также можете обновлять отдельные snap-пакеты, выбирая их из списка установленных приложений и нажимая на кнопку Обновить.
Чтобы удалить snap-пакет из Snap Store, вам нужно выбрать его из списка установленных приложений и нажать на кнопку Удалить. Затем вам нужно подтвердить свое действие и ввести свой пароль, если потребуется.
Чтобы получить больше информации о конкретном snap-пакете из Snap Store, вам нужно выбрать его из списка доступных или установленных приложений и нажать на его название или значок. Вы увидите подробную страницу snap-пакета, где вы можете прочитать описание, отзывы, разрешения и другие детали.
В этой статье мы рассказали вам о snap-пакетах — новом формате пакетов для Linux, который предлагает ряд преимуществ по сравнению с традиционными пакетами. Snap-пакеты обеспечивают автоматическое обновление, изоляцию, одинаковое поведение на разных дистрибутивах и удобство разработки и публикации приложений для Linux.
Однако snap-пакеты также имеют некоторые недостатки, такие как большой размер, медленная скорость запуска, ограниченный доступ к системным ресурсам и возможные проблемы совместимости.
Если вы хотите попробовать snap-пакеты на своей Linux-системе, вы можете легко установить их через командную строку или через графический интерфейс Snap Store. Вы можете найти тысячи snap-пакетов разных категорий и жанров в Snap Store или создать свой собственный snap-пакет с помощью инструмента Snapcraft.
Мы надеемся, что эта статья была полезна и интересна для вас.