Нравится вам или нет, понимаете ли вы, как работает механизм изоляции программ в snap или нет, но технология развивается и более активно теснит традиционый формат deb. На это есть объективные причины: выгода для сторонних, прикладных программистов; выгода для системных разработчиков; выгода для пользователей. Сейчас хотелось бы осветить более подробно такое понятие как каналы (channels) в мире snap.
Начнём издалека. В традиционном мире deb прямыми аналогами каналов snap являются знаменитые stable/testing/unstable. Манипулируя stable/testing/unstable в строке подключённого репозитория, мы как бы заявляем, а что нам нужно? Больше надёжности - stable? Чуть посвежее софт - testing? Я рисковый парень, давай сюда софт из-под пера автора - unstable!
Понятие каналов (channels) позволяет пользователям "подписываться" на различные этапы развития конкретного ПО, будь то основной релиз или разрабатываемый релиз. Данный механизм так же позволяет пользователю остаться в рамка желаемой серии, если ваша структура треков (tracks) и каналов это позволяют.
Синтаксис следующий: трек-track/уровень-риска-risk-level/ветка-branch
Следует знать, что API, который использует, в том числе snap find
, всегда возвращает результаты только для канала stable. Стабильность пользователей - превыше всего!
GNOME Software умеет отображать каналы и позволяет пользователю переключиться на нужный в графическом режиме. Давайте на примере Skype разберём ход мыслей разработчиков. В принципе stable, candidate, beta, edge позволяют раскидать 4 версии ПО, но, благодаря трекам, у разработчиков в будущем появляется больше вариативности и, возможно, по этой причине они решили начать использовать треки. В нашем примере мы наблюдаем 2 трека: неявный latest и insider. Сейчас на треке в stable, candidate, beta, edge лежат одинаковые версии ПО, то есть с помощью треков разработчики разнесли обычный релиз (latest) и разрабатываемый для обкатки (insider).
В Терминале легко убедиться в правдивости вышесказанного. Если просто поставить Скайп, без указания чего-либо, то будет поставлен latest/stable - snap info skype
name: skype summary: One Skype for all your devices. New features. New look. All Skype. publisher: skype contact: https://www.skype.com/ license: unknown ..... snap-id: QRDEfjn4WJYnm0FzDKwqqRZZI77awQEV commands: - skype tracking: stable installed: 8.16.0.4 (16) 109MB classic refreshed: 2018-02-21 10:15:21 +0300 MSK channels: stable: 8.16.0.4 (16) 109MB classic candidate: ↑ beta: ↑ edge: ↑ insider/stable: 8.17.76.1 (17) 109MB classic insider/candidate: ↑ insider/beta: ↑ insider/edge: ↑
Разработчики MySQL, одни из первых, начали использовать понятие треков - Разработчики зовут на тесты MySQL.
Традиционный мир deb против нового snap.
Разработчики Canonical активно ставят на snap и поэтому в дневных сборках Ubuntu 18.04 Bionic Beaver программа GNOME Calculator сразу идёт через snap, а не deb. Все готовятся к массовому внедрению программ в snap пакетах.