Что нужно знать о Snap в Ubuntu 20.04

5 февраля 2021 |

Что нужно знать о Snap в Ubuntu 20.04

Ubuntu's official snap packages icon. Ubuntu

Ubuntu 20.04 Focal Fossa — фантастическая версия, получившая широкую поддержку. Однако решение изменить Центр программного обеспечения для установки приложений на основе моментальных снимков является спорным. Мы объясним, что это значит для вас.

Что такое Snap Package в Linux?

«Snap» относится как к команде snap, так и к файлу установки snap. Оснастка объединяет приложение и все его зависимые элементы в один сжатый файл. Зависимыми могут быть файлы библиотеки, веб-серверы или серверы баз данных, или что-то еще, что приложение должно запускать и запускать.

Преимущество привязок в том, что они упрощают установку, так как они избегают душевной боли ада зависимостей. Это то, что происходит, когда новое приложение не может быть запущено либо из-за того, что требуемый ресурс недоступен, это неправильная версия, либо его установка перезаписывает файлы, требуемые существующими приложениями, поэтому они не могут работать.

Вы можете ожидать, что моментальный снимок будет распакован, а файлы извлечены во время установки. Однако именно во время выполнения файл snap монтируется на устройстве блочного цикла. Это позволяет получить доступ к внутренней файловой системе SquashFS.

Приложение выполняется инкапсулированным, изолированным способом, поэтому его файлы не могут мешать файлам на вашем компьютере. Вы даже можете установить несколько версий одного и того же приложения, и они не будут перекрестно опылять друг друга или бороться друг с другом.

Обратной стороной является то, что установочные файлы больше, чем файлы традиционного менеджера пакетов Debian (DEB). Они также используют больше места на жестких дисках. С помощью снимков каждое приложение, которому нужен конкретный ресурс, устанавливает свою собственную копию. Это не самое эффективное использование места на жестком диске. Хотя жесткие диски становятся все больше и дешевле, традиционалисты по-прежнему отказываются от экстравагантности того, что каждое приложение работает в своем собственном мини-контейнере. Запуск приложений тоже происходит медленнее.

Snap также критиковали за несоблюдение темы рабочего стола и их автоматических обновлений. Некоторые люди также настороженно относятся к тому, что снимки не обязательно делаются авторами программного обеспечения. Поэтому они не считают их на 100% «официальными».

Итак, в Focal Fossa Canonical заменила приложение Ubuntu Software версией, которая по умолчанию устанавливает снимки. Что это значит для тебя?

Центр программного обеспечения Ubuntu

Мы можем использовать команду df для вывода списка файловых систем SquashFS, установленных на вашем компьютере. Мы воспользуемся параметром -t (type), чтобы ограничить вывод интересующими нас файловыми системами:

df -t squashfs

Затем мы используем команду snap list для вывода списка установленных привязок:

Список привязок

Есть две привязки, относящиеся к рабочему столу GNOME, две связанные с функциональностью основных привязок, одна для тем GTK и одна для хранилища снимков. Конечно, приложение snap-store тоже несложно.

Вот в чем дело: если вы запустите команду snap-store в окне терминала, запускаемое приложение будет программным обеспечением Ubuntu.

Конечно, вы обычно запускаете приложение Ubuntu Software, щелкнув его значок. Мы запускаем его из командной строки, чтобы продемонстрировать, что под поверхностью теперь находится приложение snap-store:

snap-store

The Ubuntu Software application.

Приложение Ubuntu Software выглядит как и следовало ожидать. Вы можете искать все то же программное обеспечение, что и раньше.

Давайте найдем и установим приложение sqlitebrowser. Экран результатов показывает подробную информацию о приложении и снимок экрана. Выберите «Установить», чтобы установить программное обеспечение.

SQLite browser application installation page in the Ubuntu Software application.

Если бы вы не знали, вы бы не подозревали о скрытых изменениях. Прокрутите вниз, и вы увидите новую информацию, относящуюся к Snap.

Snap-specific information related to SQLITebrowser in the Ubuntu Software application.

В списке «Подробности» содержится следующая информация:

  • Канал: канал, из которого при установке будет загружено приложение.
  • Версия: версия программного обеспечения.
  • Лицензия: тип лицензии.
  • Разработчик: человек, создавший снап, или люди, написавшие приложение.
  • Источник: источник, из которого будет загружен снап (snapcraft.io — это Snapcraft от Canonical. store).
  • Размер загрузки: размер файла привязки.

Канал может быть одним из следующих:

  • Стабильный : Значение по умолчанию, которое содержит наиболее стабильные и надежные пакеты.
  • Кандидат: этот канал менее стабилен, но очень близок к нему, потому что он содержит программное обеспечение уровня кандидата на выпуск.
  • Бета: этот канал соответствует качеству позднего цикла разработки, но не гарантирует чтобы быть стабильным.
  • Edge: для начинающих тестировщиков и любознательных. Вы не должны использовать этот канал для чего-то важного.

После завершения установки мы можем снова проверить список установленных снимков:

список привязок

Новая запись указан внизу. Давайте запустим программу:

sqlitebrowser DB Browser for SQLite main application window.

В приложении все работает отлично, хотя интерфейс выглядит устаревшим. Скульптурные элементы интерфейса в псевдо-3D напомнят вам о графических интерфейсах прошлых лет. Это характерно не для всех снимков, но в этом примере это заметно.

Установка из командной строки

При установке приложений из командной строки ничего не изменилось. У вас по-прежнему есть доступ к инструменту командной строки snap, поэтому вы можете устанавливать и удалять снимки в окне терминала. Команда установки apt-get и apt, оболочка apt-get, тоже остались там.

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

sudo apt-get install sqlitebrowser

Дождитесь завершения установки. Нажмите клавишу Super и введите sqlitebrowser. После ввода нескольких символов вы увидите две версии программы на своем компьютере.

Two DB browser for SQLite icons in the search results.

Запустите их обе.

Two versions of DB Browser for SQLite running in GNOME.

Как видите, у нас одновременно установлены и работают две разные версии.

Версия на обратной стороне изображения — это та, которую мы установили из командной строки, а версия впереди — та, что в оснастке:

  • Версия apt-get — это версия 3.11.2.
  • Версия snap — 3.11.99.

Несмотря на внешний вид, версия для командной строки является более старой. Тем не менее, очевидно, что две версии сосуществуют и прекрасно работают вместе. Итак, снимки делают то, что должны, с ограждением различных версий одного и того же приложения.

Кроме того, установка приложений из командной строки с помощью apt или apt-get такая же, как и всегда. , и на него совсем не действуют снимки.

Что лучше использовать?

Вас хоть сколько-нибудь интересует, какой тип приложения вы используете? Если нет, сделайте снимки.

Если что-либо из перечисленного ниже нарушает договоренность (или несколько из них составляют одно), держитесь подальше от приложения Ubuntu Software и устанавливайте свои приложения традиционным способом:

  • Снимки загружаются медленнее. Это будет более заметно на старом оборудовании.
  • Снимки занимают больше места на жестком диске.
  • Снимки обновляются автоматически.
  • Снимки могут не соответствовать установленным вами темам .
  • Снимки не всегда «официальные».«Они часто создаются добровольцами с благими намерениями.

Если ваш компьютер достаточно современный, разница в скорости между запуском оснастки или обычного приложения не будет значительной. Самая большая потеря времени, которую мы заметили, была во время установки. Снимки загружались намного дольше. После загрузки файлов установка прошла достаточно быстро. Однако загрузка — это разовая задача, поэтому вам не придется с ней сталкиваться каждый день.

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

Очевидно, Canonical этим ходом прибивает свои цвета к мачте. Что касается разработчиков Ubuntu, снимки никуда не денутся. Как всегда, вы можете либо использовать их, либо игнорировать, либо создать гибридную систему, которая смешивает и сопоставляет снимки и традиционные установки на основе DEB.

Что нужно знать о Snap в Ubuntu 20.04


Напишите пару строк: