Что нужно знать о Snaps в Ubuntu 20.04
Опубликовано: 2022-01-29Ubuntu 20.04 Focal Fossa — фантастический релиз, получивший широкое признание. Однако решение изменить Центр программного обеспечения для установки приложений на основе оснастки вызывает споры. Мы объясним, что это значит для вас.
Что такое пакет Snap в Linux?
«Snap» относится как к команде snap
, так и к установочному файлу snap. Snap объединяет приложение и все его зависимые элементы в один сжатый файл. Зависимыми элементами могут быть библиотечные файлы, веб-серверы или серверы баз данных или что-то еще, что должно запускаться и работать приложению.
Преимущество моментальных снимков в том, что они упрощают установку, поскольку позволяют избежать душевных страданий ада зависимостей. Это происходит, когда новое приложение не может быть запущено либо из-за того, что требуемый ресурс недоступен, либо из-за неправильной версии, либо из-за того, что его установка перезаписывает файлы, необходимые существующим приложениям, поэтому они не могут работать.
Вы можете ожидать, что снап будет несжатым, а файлы будут извлечены во время установки. Однако именно во время выполнения файл Snap монтируется на устройстве блочной петли. Это позволяет получить доступ к внутренней файловой системе SquashFS файла.
Приложение выполняется инкапсулированным, изолированным образом, поэтому его файлы не могут мешать файлам на вашем компьютере. Вы даже можете установить несколько версий одного и того же приложения, и они не будут перекрестно опыляться или конфликтовать между собой.
Недостатком является то, что установочные файлы больше, чем файлы традиционного диспетчера пакетов Debian (DEB). Они также используют больше места на жестком диске. При использовании моментальных снимков каждое приложение, которому требуется определенный ресурс, устанавливает свою собственную копию. Это не самое эффективное использование места на жестком диске. Хотя жесткие диски становятся больше и дешевле, традиционалисты по-прежнему недовольны экстравагантностью каждого приложения, работающего в своем собственном мини-контейнере. Запуск приложений тоже медленнее.
Snaps также подвергались критике за то, что они не соответствуют теме рабочего стола и их автоматическим обновлениям. Некоторые люди также насторожены, потому что снимки не обязательно сделаны авторами программного обеспечения. Поэтому они не считают их на 100 процентов «официальными».
Итак, с Focal Fossa Canonical заменила приложение Ubuntu Software версией, которая по умолчанию устанавливает снимки. Что это значит для тебя?
СВЯЗАННЫЕ: Что нового в Ubuntu 20.04 LTS «Focal Fossa»
Центр программного обеспечения Ubuntu
Мы можем использовать команду df
, чтобы вывести список файловых систем SquashFS
, установленных на вашем компьютере. Мы будем использовать параметр -t
(тип), чтобы ограничить вывод интересующими нас файловыми системами:
df -t squashfs
Затем мы используем команду snap list
, чтобы вывести список установленных моментальных снимков:
список моментальных снимков
Есть две оснастки, относящиеся к рабочему столу GNOME, две — к основным функциям оснастки, одна — к темам GTK и одна — к хранилищу моментальных снимков. Конечно, приложение snap-store
тоже снап.
Вот в чем дело: если вы запустите команду snap-store
в окне терминала, запущенным приложением будет программное обеспечение Ubuntu.
Конечно, вы обычно запускаете приложение Ubuntu Software, щелкая его значок. Мы запускаем его из командной строки, чтобы продемонстрировать, что под поверхностью теперь находится приложение snap-store
:
мгновенное хранилище
Приложение Ubuntu Software выглядит именно так, как вы и ожидали. Вы можете искать все то же программное обеспечение, что и раньше.
Давайте найдем и установим приложение sqlitebrowser. На экране результатов отображаются сведения о приложении и снимок экрана. Выберите «Установить», чтобы установить программное обеспечение.
Если бы вы не знали, вы бы не заподозрили изменения под капотом. Прокрутите вниз, и вы увидите новую информацию, относящуюся к оснастке.
Список «Подробности» содержит следующую информацию:
- Канал : канал, из которого установка будет извлекать приложение.
- Версия : Версия программного обеспечения.
- Лицензия : тип лицензии.
- Разработчик : человек, создавший снап, или люди, написавшие приложение.
- Источник : источник, из которого будет загружен снимок (snapcraft.io — это хранилище снимков Canonical Snapcraft).
- Размер загрузки : размер файла снимка.
Канал может быть одним из следующих:
- Stable : значение по умолчанию, которое содержит самые стабильные и надежные пакеты.
- Кандидат : этот канал менее стабилен, но очень близок к нему, потому что он содержит программное обеспечение уровня кандидата на выпуск.
- Бета : качество этого канала находится на позднем этапе разработки, но его стабильность не гарантируется.
- Edge : для первых тестировщиков сборки и любознательных. Вы не должны использовать этот канал для чего-то важного.
После завершения установки мы можем снова проверить список установленных снапов:
список моментальных снимков
Новая запись указана внизу. Запустим программу:
sqlitebrowser
Все в приложении работает отлично, хотя интерфейс выглядит устаревшим. Скульптурные псевдо-трехмерные элементы интерфейса напомнят вам о графических интерфейсах прошлых лет. Это не характерно для всех снимков, но в этом примере это бросается в глаза.
СВЯЗАННЫЕ С: Как работать с пакетами Snap в Linux
Установка из командной строки
При установке приложений из командной строки ничего не изменилось. У вас по-прежнему есть доступ к инструменту командной строки snap
, поэтому вы можете устанавливать и удалять snap в окне терминала. Команда установки apt-get
и apt
, обертка apt-get, тоже никуда не делись.
Давайте установим это же приложение из командной строки. Поскольку версия, которую мы установили выше, является оснасткой, они никак не повлияют друг на друга:
sudo apt-get установить sqlitebrowser
Дайте установке завершиться. Нажмите клавишу Super и введите «sqlitebrowser». После ввода нескольких символов вы увидите две версии программы на своем компьютере.
Зажгите их обоих.
Как видите, у нас одновременно установлены и работают две разные версии.
Версия на задней панели изображения — это та, которую мы установили из командной строки, а версия на переднем плане — та, что в оснастке:
- Версия
apt-get
— это версия 3.11.2. - Версия
snap
3.11.99.
Несмотря на внешний вид, версия для командной строки является более старой. Несмотря на это, очевидно, что две версии сосуществуют и прекрасно работают вместе. Таким образом, снэпы делают то, что должны, с ограждением разных версий одного и того же приложения.
Кроме того, установка приложений из командной строки с помощью apt
или apt-get
такая же, как всегда, и на нее вообще не влияют снимки.
Что следует использовать?
Вам вообще не все равно, какой тип приложения вы используете? Если нет, идите со снапами.
Если что-либо из следующего является нарушителем соглашения (или несколько из них в сумме составляют одно), держитесь подальше от приложения Ubuntu Software и устанавливайте свои приложения традиционным способом:
- Снапы загружаются медленнее. Это будет более заметно на старом оборудовании.
- Snaps занимают больше места на жестком диске.
- Снапы обновляются автоматически.
- Снапы могут не соответствовать установленным темам.
- Снапы не всегда являются «официальными». Их часто строят добровольцы из лучших побуждений.
Если ваш компьютер достаточно современный, разница в скорости между запуском снапа и обычного приложения не будет огромной. Самая большая потеря времени, которую мы заметили, была во время установки. Снапы загружались намного дольше. После загрузки файлов установка прошла достаточно быстро. Однако загрузка — это одноразовая задача, поэтому вам не придется заниматься ею ежедневно.
Даже если вы думаете, что снэпы — это будущее, и вы готовы всем сердцем принять их, вы не можете идти ва-банк с ними. Некоторые приложения недоступны в моментальной форме. В этих случаях вам все равно придется устанавливать их из командной строки.
Очевидно, что этим шагом Canonical прибивает свои краски к мачте. Что касается разработчиков Ubuntu, снэпы никуда не денутся. Как всегда, вы можете либо использовать их, либо игнорировать их, либо иметь гибридную систему, которая смешивает и сочетает моментальные снимки и традиционные установки на основе DEB.