Устанавливая впервые обычные пакеты в GNU/Linux, пользователь сталкивается с таким понятием, как зависимости. Бывает, что небольшая программка требует библиотек гораздо больше, чем весит сама по себе.
Несмотря на непривычность для начинающих пользователей, данный подход имеет определённые преимущества:
- одни и те же библиотеки используются для нескольких программ, что экономит место;
- понятная файловая структура, да и, вообще, unix-way;
- конкретный разработчик обеспечивает работоспособность отдельного пакета;
- обеспечивается целостность системы;
- программа устанавливается один раз и для всех пользователей.
У такого метода есть и очевидные недостатки:
- старые версии пакетов в репозиториях, а если нужно свежее и новее, то приходится использовать PPA или другие средства;
- зависимость от конкретных версий библиотек, поставляемых совместно с системой;
- сложность установки программ разных версий;
- приходится скачивать большое количество зависимостей, которые зачастую не столь необходимых;
- необходимо устанавливать программы из-под root-пользователя;
Что дают Snap пакеты в Ubuntu 16.04
Ситуация со Snap форматом приложений — с точностью до наоборот. Разработчик формирует пакет, состоящий из статически подключенных библиотек и конкретного приложения. Затем он устанавливается в отдельную директорию и используется.
Теперь не столь важны версии библиотек операционной системы на данный момент — пакет может притянуть свои, которые никак не будут затрагивать основные.
Что ведёт к следующим очевидным, на первый взгляд, плюсам:
- для установки пакета не нужны права root-пользователя;
- нет проблем с версиями библиотек, можно установить самую свежую версию программы в любой момент;
- разработчик может гарантировать работу не только своего отдельного приложения, но и его адекватную работу совместно с
- поставляемыми библиотекам;
- значительно упрощается жизнь производителям проприетарного программного обеспечения, в том числе и игр;
- полностью отсутствуют зависимости от библиотек системы (но не от других snap-пакетов).
Ну и минусам:
- увеличение места на носителе информации, каждый пакет таскает с собой свои библиотеки;
- усложнение файловой структуры Ubuntu (для каждого пакета — своя папка);
- отход от unix-way, грубо говоря, такая система уже с натяжкой считается unix-подобной;
- нарушается целостность системы.
Мнение
Никто не убирает deb-пакеты из системы, просто snap-пакеты в Ubuntu предоставляют альтернативный способ установки приложений. В некоторых ситуациях он гораздо удобней.
В первую очередь — для планшетов и других мобильных устройств. Однако и на персональном компьютере он может найти своё применение.
Другое дело — усложняется операционная система для обычного пользователя ещё больше. Что не есть хорошо, ибо основное преимущество GNU/Linux — именно простота.