Полный цикл в digital

Snap пакеты в Linux

Snap пакеты содержат саму программу, а также все её зависимости. Это имеет несколько преимуществ перед обычными deb или rpm пакетами, поскольку программу можно запустить в любом дистрибутиве, а также разработчик может быть уверен, что его программа получает именно необходимые ей версии библиотек.

Установка snap

В дистрибутивах, основанных на Debian для использования snap пакетов сначала надо установить менеджер пакетов snap:

sudo apt install snapd

После установки для включения возможности установки классических приложений через snap надо создать символическую ссылку на /var/lib/snapd/snap в корне:

sudo ln -s /var/lib/snapd/snap /snap

После этого можно установить магазин приложений snap-store, или устанавливать пакеты через терминал:

sudo snap install snap-store

Удаление snap

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

sudo snap install snap-store

С помощью этой команды мы полностью удалили не только менеджер пакетов snap, но и все связанные с ним зависимости.

Ручной способ

Первым делом нужно удалить все установленные Snap-пакеты.

Смотрим список всех пакетов:

snap list --all

Затем удалите каждый из них, используя команду со следующим синтаксисом:

sudo snap remove название_пакета

После удаления всех пакетов, отключите службу ядра snap, для этого нужно узнать фактический идентификатор менеджера пакетов, в этом поможет утилита df:

df

Теперь следует размонтирования пакет snap в системе с помощью команды:

sudo umount /snap/snapd/ваш_идентификатор

Следующим шагом нужно удалить пакет snapd, а также все его зависимости:

sudo apt autoremove --purge snapd gnome-software-plugin-snap

Напоследок требуется обновить/сбросить метаданные и очистить кэш менеджера пакетов Snap. Для этого последовательно выполните следующие команды:

pkill gnome-software
sudo rm -r /var/cache/app-info
sudo appstreamcli refresh --force --verbose

Поиск пакетов

Чтобы найти нужный пакет или посмотреть есть ли он в магазине приложений snap используйте команду find:

snap find chromium

Информация о пакете

Чтобы посмотреть информацию о пакете используйте команду info:

snap info chromium

Здесь выводится информация о том кто создал пакет, а также его описание. Для установки пакетов доступно несколько каналов:

  • stable самый стабильный
  • beta тестируемый
  • edge версия для разработчиков

Эта информация тоже выводится внизу вывода команды info. Здесь же выводится версия программы в канале.

Установка пакетов

Вы можете установить snap пакет в Ubuntu или любом другом дистрибутиве командой install, когда установка пакетов завершится, программа выдаст соответствующее сообщение:

sudo snap install chromium

Для установки пакета из определенного канала используйте соответствующую опцию, например --stable, --candidate, --beta или --edge. По умолчанию используется канал --stable:

sudo snap install chromium --edge

По умолчанию приложение может получить доступ только к тем частям системы, к которым у него подключены интерфейсы. Эти подключения устанавливаются автоматически во время установки пакета. Посмотреть их можно командой connections:

snap connections chromium

Уровни доступа

Иногда для приложений недостаточно обычного уровня доступа. Тогда для них используется уровень безопасности classic. В этом режиме приложение получает доступ к системным ресурсам как любые другие системные программы. Для установки таких программ надо использовать опцию --classic, иначе установить их не получится:

sudo snap install --classic atom

Есть ещё один режим безопасности, при котором приложение получает полный доступ к системе: devmode. Для установки таких программ надо использовать опцию --devmode.

Удаление пакета

Удалить snap пакет из системы очень просто. Для этого достаточно использовать команду remove:

sudo snap remove chromium

Команда полностью удалит пакет chromium и приложение из системы. Но есть ещё одна особенность, которая может быть вам интересной. По умолчанию пакетный менеджер snap сохраняет две предыдущие версии пакетов при обновлении. Поскольку один пакет занимает 500-700 мегабайт, это достаточно много и вы можете захотеть удалить эти пакеты. Можно попросить пакетный менеджер сохранять только одну резервную копию с помощью такой команды:

sudo snap set system refresh.retain=2

В параметры передается цифра 2. Это значит одна актуальная версия, а одна резервная, меньше нельзя. Если очень надо, то можно вручную удалить старые версии пакетов. Только хочу предупредить, что вы это делаете на свой страх и риск. Это может сломать систему и таким образом можно удалять только сами приложения, системные пакеты такие как core, snapd и другие трогать ни в коем случае нельзя. Сначала надо посмотреть список всех пакетов вместе с версиями, это можно сделать такой командой:

snap list --all

Обращать внимание надо на ревизии, в данном примере у меня есть две версии телеграмма, одна активная с номером 2398 и одна резервная disabled с номером 2391. Версию 2391 можно попробовать удалить, для этого выполните такую команду:

snap remove telegram-desktop --revision=2391

Установленные программы

Для того чтобы посмотреть все пакеты, установленные в системе используйте команду list:

snap list

Многие из программ Ubuntu и Gnome уже поставляются в виде snap и их уже нельзя установить из обычных репозиториев. С помощью опции --all можно посмотреть все доступные версии определённого пакета:

snap list --all opera

История изменений

Также вы можете посмотреть историю изменений, внесенных, в систему с помощью этого пакетного менеджера:

snap changes

Обновление пакетов

Если вы хотите обновить пакет snap, до более новой версии, выполните команду refresh, если установлена самая свежая версия вы получите сообщение об ошибке.:

sudo snap refresh opera

Для обновления всех пакетов, установленных в системе просто выполните команду refresh:

sudo snap refresh

Откатить изменения

Если обновление вам не понравилось, вы можете откатить версию всех пакетов или одного из них до предыдущей. Для этого выполните команду revert:

sudo snap revert opera
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг