Вопрос или проблема
У меня очень мало знаний о формате упаковки ‘Snap’. Что я знаю, так это то, что ‘Snap’ является альтернативным форматом упаковки, как .deb.
Чего я не знаю, так это
- Почему Canonical выбрала его?
- Каковы основные преимущества ‘Snap’ перед .deb?
- Будет ли .deb заброшен, или он уже заброшен?
Почему Canonical выбрала snaps?
Цитируя вебсайт Ubuntu:
Мы изначально создали технологию snappy и систему изоляции приложений, чтобы обеспечить обновление уровня оператора для мобильных пользователей Ubuntu и установить новый стандарт безопасности приложений в мобильную эру.
Основная идея заключалась в устранении проблем, присутствующих в пакетах .deb
, и предоставлении нового метода обновления пакетов (так называемое транзакционное обновление, очень похожее на то, как обновляются приложения на Android). Как объясняет Марк Шаттлворт:
Каждый раз, когда мы вносим исправление в пакеты Ubuntu, мы публикуем такое же исправление для Ubuntu Core, и системы могут получить это исправление транзакционно. Фактически, обновления для Ubuntu Core даже меньше, чем обновления пакетов, поскольку нам нужно отправить только точную разницу между старыми и новыми версиями, а не весь пакет.
Каковы основные преимущества пакетов .snap перед пакетами .deb?
Самое большое преимущество — улучшенная безопасность. PPA и пакеты .deb
обычно устанавливаются с привилегиями root, что открывает возможность для рисков безопасности.
Snappy приложения изолированы, что означает, что если какое-то приложение сломается, оно не нарушит работу вашей системы. Цитируя Марка Шаттлворта:
Snappy пакеты автоматически изолированы, чтобы ошибка в одном приложении не подвергала риску ваши данные в другом месте.
Будет ли .deb заброшен?
На момент Ubuntu 16.04 LTS пользователям доступны оба метода.
Цитируя OMG! Ubuntu!:
Canonical также заявляет, что «десятки тысяч приложений и пакетов в формате .deb будут продолжать поддерживаться в 16.04 и в дальнейшем, и deb архивы в частности будут продолжать быть доступными для всех для использования и распространения программного обеспечения».
В общем, насколько я понимаю, snaps:
- Snaps более безопасны. Работают в своих “контейнерах”.
- С ними гораздо проще управляться, чем с deb пакетами.
-
В будущем snaps станут форматом пакетов для мобильных устройств, интернета вещей и настольных компьютеров.
-
будет ли .deb заброшен? Canonical сказала, что поддержка deb пакетов будет также в будущем.
Но есть инструмент, который называется snapcraft
. С помощью этого инструмента очень легко конвертировать deb пакеты в snap пакеты.
Следуйте по этой ссылке для получения дополнительной информации. Возможно, это поможет вам.
https://insights.ubuntu.com/2016/04/13/snaps-for-classic-ubuntu
.
Ответ или решение
Формат пакетирования Snap, разработанный компанией Canonical, представляет собой инновационный подход к управлению программным обеспечением на платформах, работающих под управлением Ubuntu. Snap является современным форматом, отличным от традиционного .deb, и был введен компанией с целью оптимизации процессов установки, обновления и безопасности программных приложений.
### Теория: Почему Canonical выбрала Snap?
Одной из главных причин выбора этого формата стало стремление Canonical обеспечить безопасную и простую в использовании среду для обновлений на устройствах. Согласно информации, предоставленной на сайте Ubuntu, технология Snap изначально разрабатывалась для того, чтобы гарантировать обновление на уровне операторов связи для пользователей мобильных устройств на базе Ubuntu. Это подход к безопасности приложений и их обновлению был навеян мобильной эрой, где защита данных и возможность транзакционных (атомарных) обновлений являются критически важными.
Snap позволяет решать некоторые недостатки, присущие пакету .deb. В частности, обновления пакетов через Snap проводятся на уровне изменений между версиями, что уменьшает объем обновляемых данных и повышает эффективность процесса.
### Пример: Основные преимущества Snap над .deb
Одним из основных преимуществ Snap по сравнению с форматами .deb является улучшенная безопасность. Пакеты .deb и PPA (Personal Package Archive) обычно устанавливаются с привилегиями root, что может представлять риск для безопасности системы. В отличие от них, Snap работает в изолированных контейнерах, что предотвращает влияние одного приложения на данные и процессы других. Такой подход, как было заявлено Марком Шаттлвортом (основателем Canonical), позволяет минимизировать потенциальные убытки в случае ошибки в одном из приложений.
Кроме того, Snap обладает рядом других преимуществ:
1. Универсальность: Snap позволяет устанавливать пакеты на разные версии и разновидности Linux, что упрощает распространение программного обеспечения.
2. Простота обновления: Платформа поддерживает атомарные обновления, аналогичные тем, что используются в мобильных операционных системах.
3. Гибкость для разработчиков: Инструменты, такие как snapcraft, облегчают процесс создания пакетов Snap и конвертации существующих .deb пакетов в формат Snap.
### Применение: Будущее пакетов .deb и Snap
На момент выпуска Ubuntu 16.04 LTS, Canonical предоставила пользователям обе возможности и не планировала отказаться от .deb. .deb пакеты остаются поддерживаемыми и широко используемыми в сообществе Ubuntu, и нет никаких признаков того, что эта поддержка будет снята в будущем. Canonical отметила, что десятки тысяч приложений и пакетов в формате .deb будут по-прежнему доступны и поддерживаемы.
Тем не менее, вектор развития Snap вполне ясен: он станет стандартом для таких направлений, как мобильные устройства, Интернет вещей (IoT) и сайты домашних компьютеров. Возможности Snap выглядят особенно многообещающе в плане кроссплатформенной интеграции, позволяя разработчикам достичь более широкой аудитории без необходимости адаптации пакета для каждой отдельной системы.
В заключение, Snap предлагает более безопасное, удобное и современное решение для распространения программного обеспечения по сравнению с традиционными .deb пакетами. Однако, эти два формата будут сосуществовать, удовлетворяя разнообразные потребности пользователей и разработчиков. Snap представляет собой шаг вперед в процессе управления приложениями и безопасности данных, одновременно сохраняя традиционные методы и инструменты, которые доказали свою эффективность временем.