- Установка Snap в Linux
- Что такое Snap пакеты?
- Установка snap
- Как пользоваться snap
- 1. Поиск пакетов
- 2. Информация о пакете
- 3. Установка пакетов
- 4. Удаление пакета
- 5. Установленные программы
- 6. История изменений
- 7. Обновление пакетов
- Выводы
- Snap Store
- Snap Store is a graphical desktop application for discovering, installing and managing snaps on Linux.
- Details for Snap Store
- Share this snap
- Share embeddable card
- Snapcraft
- The app store for Linux
- Placeholder
- Placeholder
- Placeholder
- Placeholder
- Placeholder
- Placeholder
- Placeholder
- Placeholder
- Placeholder
- Placeholder
- Placeholder
- Placeholder
- Official snaps from major publishers
- Latest news from our blog ›
- Learn how to snap an app in 30 minutes
- Why are snaps good for C/C++ projects?
- Here’s how dosbox defines snapcraft.yaml:
- Why are snaps good for Electron projects?
- Here’s how to use it with electron-quick-start:
- Why are snaps good for Flutter projects?
- Here’s how super-cool-app defines snapcraft.yaml:
- Why are snaps good for Go projects?
- Here’s how httplab defines snapcraft.yaml:
- Why are snaps good for Java projects?
- Here’s how freeplane defines snapcraft.yaml:
- Why are snaps good for MOOS projects?
- Here’s an example snapcraft.yaml that uses MOOS:
- Why are snaps good for Node.js projects?
- Here’s how wethr defines snapcraft.yaml:
- Why are snaps good for pre-built apps?
- How geekbench4 defines snapcraft.yaml
- Why are snaps good for Python projects?
Установка Snap в Linux
Одно из самых обсуждаемых нововведений в Ubuntu 16.04 — это новый формат установочных пакетов программного обеспечения — snap. Canonical представила новую систему установки и управления программным обеспечением, она более безопасна и позволяет получить всегда самые последние версии программ.
Ещё одно преимущество Snap пакетов — это доступность не только в Ubuntu, но и в других дистрибутивах. Разработчики могут создать один пакет, который потом можно будет одинаково установить в Ubuntu, Debian, Fedora, CentOS или любом другом дистрибутиве. В этой статье мы рассмотрим как установить пакетный менеджер Snap в вашем дистрибутиве, а также как им пользоваться.
Что такое Snap пакеты?
Сначала поговорим о том что такое Snap. Есть несколько способов установки программ в системах Linux. Один из способов — установка из исходных кодов. Здесь вам нужно вручную запускать скрипты, удовлетворять зависимости, ну одним словом, очень неудобно.
Здесь в игру вступают пакеты. После завершения разработки программы её разработчики создают пакеты, например, deb или rpm и размещают их в репозиториях программного обеспечения, откуда пользователи могут их очень легко установить. Установить программу из любого deb пакета можно буквально в пару кликов. Но такие пакеты содержат только саму программу, все зависимости и необходимые ей библиотеки пакетный менеджер ищет и устанавливает автоматически.
В свою очередь Snap пакеты содержат саму программу, а также все её зависимости. Это имеет несколько преимуществ перед обычными deb или rpm пакетами, поскольку теперь программу можно запустить в любом дистрибутиве, а также разработчик может быть уверен, что его программа получает именно необходимые ей версии библиотек.
Установка snap
В дистрибутивах, основанных на Debian и в самом Debian для использования snap пакетов сначала надо установить менеджер пакетов snap. Для этого выполните:
sudo apt install snapd
Установка snap в Fedora или CentOS отличается не сильно:
sudo dnf install snapd
После установки для включения возможности установки классических приложений через snap надо создать символическую ссылку на /var/lib/snapd/snap в корне:
sudo ln -s /var/lib/snapd/snap /snap
После этого можно установить магазин приложений snap-store:
sudo snap install snap-store
Или устанавливать пакеты snap через терминал.
Как пользоваться snap
Основы рассмотрели, теперь перейдем к управлению пакетами. Процесс взаимодействия со snap очень похож на apt или dnf, только не надо обновлять репозитории. Все действия выполняются в терминале.
1. Поиск пакетов
Чтобы найти нужный пакет или посмотреть есть ли он в магазине приложений snap используйте команду find. Например:
snap find chromium
Будут выведены все пакеты соответствующие данному критерию, доступные для установки в вашей системе. Если выполнить команду find без параметров, то система выведет несколько рекомендуемых пакетов.
2. Информация о пакете
Чтобы посмотреть информацию о пакете используйте команду info:
snap info chromium
Здесь выводится информация о том кто создал пакет, а также его описание. Для установки пакетов доступно несколько каналов. Это stable, beta и edge. Первый самый стабильный, второй — тестируемый, а третий — версия для разработчиков. Эта информация тоже выводится внизу вывода команды info. Здесь же выводится версия программы в канале.
3. Установка пакетов
Вы можете установить snap пакет в Ubuntu или любом другом дистрибутиве командой install:
sudo snap install chromium
Когда установка snap пакетов завершится, программа выдаст соответствующее сообщение. Для установки пакета из определенного канала используйте соответствующую опцию, например —stable, —candidate, —beta или —edge. По умолчанию используется канал stable. Например:
sudo snap install chromium —edge
По умолчанию приложение может получить доступ только к тем частям системы, к которым у него подключены интерфейсы. Эти подключения устанавливаются автоматически во время установки пакета. Посмотреть их можно командой connections:
snap connections chromium
Иногда для приложений недостаточно такого уровня доступа. Тогда для них используется уровень безопасности classic. В этом режиме приложение получает доступ к системным ресурсам как любые другие системные программы. Для установки таких программ надо использовать опцию —classic, иначе установить их не получится:
sudo snap install —classic atom
Есть ещё один режим безопасности, при котором приложение получает полный доступ к системе: devmode. Для установки таких программ надо использовать опцию —devmode.
4. Удаление пакета
Удалить snap пакет из системы очень просто. Для этого достаточно использовать команду remove:
sudo snap remove chromium
5. Установленные программы
Для того чтобы посмотреть все пакеты, установленные в системе используйте команду list:
Многие из программ Ubuntu и Gnome уже поставляются в виде snap и их уже нельзя установить из обычных репозиториев. С помощью опции —all можно посмотреть все доступные версии определённого пакета:
snap list —all opera
6. История изменений
Также вы можете посмотреть историю изменений, внесенных, в систему с помощью этого пакетного менеджера:
7. Обновление пакетов
Если вы хотите обновить пакет snap, до более новой версии, выполните команду refresh:
sudo snap refresh opera
Если установлена самая свежая версия вы получите сообщение об ошибке.
Для обновления всех пакетов, установленных в системе просто выполните команду refresh:
sudo snap refresh
Если обновление вам не понравилось, вы можете откатить версию всех пакетов или одного из них до предыдущей. Для этого выполните команду revert:
sudo snap revert opera
Выводы
С момента создания этой технологии прошло много времени и сейчас доступно уже много snap пакетов. Они даже вытеснили многие PPA репозитории, что теперь заброшены и не поддерживаются. Поскольку существует инструмент snapcraft, который делает создание snap пакетов намного проще, все разработчики могут подготовить эти пакеты для своих программ.
А что вы думаете о системе управления пакетами и о самих пакетах snap? Будете использовать систему установки snap чаще чем apt? Напишите в комментариях!
Источник
Snap Store
Install latest/stable of Snap Store
Ubuntu 16.04 or later?
View in Desktop store
Make sure snap support is enabled in your Desktop store.
Install using the command line
Snap Store is a graphical desktop application for discovering, installing and managing snaps on Linux.
Snap Store showcases featured and popular applications with useful descriptions, ratings, reviews and screenshots.
Applications can be found either through browsing categories or by searching.
Snap Store can also be used to switch channels, view and alter snap permissions and view and submit reviews and ratings.
Snap Store is based on GNOME Software, optimized for the Snap experience.
Details for Snap Store
Share this snap
Generate an embeddable card to be shared on external websites.
Create embeddable card
Share embeddable card
Customise your embeddable card using the options below.
Источник
Snapcraft
The app store for Linux
Some snaps you may like
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Official snaps from major publishers
Latest news from our blog ›
Learn how to snap an app
in 30 minutes
What language or framework does your app use?
Why are snaps good for C/C++ projects?
- Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line.
- Snaps install and run the same across Linux. They bundle the exact versions of your app’s dependencies.
- Snaps automatically update to the latest version. Four times a day, users’ systems will check for new versions and upgrade in the background.
- Upgrades are not disruptive. Because upgrades are not in-place, users can keep your app open as it’s upgraded in the background.
- Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision.
In just a few steps, you’ll have an example C/C++ app in the Snap Store.
Here’s how dosbox defines snapcraft.yaml:
Why are snaps good for Electron projects?
- Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line.
- Snaps install and run the same across Linux. They bundle Electron and all of your app’s dependencies, be they Node modules or system libraries.
- Snaps automatically update to the latest version. Four times a day, users’ systems will check for new versions and upgrade in the background.
- Upgrades are not disruptive. Because upgrades are not in-place, users can keep your app open as it’s upgraded in the background.
- Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision.
In just a few steps, you’ll have an example Electron app in the Snap Store.
Here’s how to use it with electron-quick-start:
Why are snaps good for Flutter projects?
- Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line.
- Snaps install and run the same across Linux. They bundle the exact versions of your app’s dependencies.
- Snaps automatically update to the latest version. Four times a day, users’ systems will check for new versions and upgrade in the background.
- Upgrades are not disruptive. Because upgrades are not in-place, users can keep your app open as it’s upgraded in the background.
- Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision.
In just a few steps, you’ll have an example Flutter app in the Snap Store.
Here’s how super-cool-app defines snapcraft.yaml:
Why are snaps good for Go projects?
- Easy to discover and install by millions using the Snap Store or command-line every day
- Automatically updated to the latest stable version of your app
- Revert to the previous version if an update fails, preserving data
Programming in Go makes it easy to create a zip of your app that runs across Linux, without dependencies. However, end user discovery and update management remain a challenge. Snaps fill this gap, letting you distribute a Go app in an app store experience for end users.
In just a few steps, you’ll have an example Go app in the Snap Store.
Here’s how httplab defines snapcraft.yaml:
Why are snaps good for Java projects?
- Simplify installation instructions, regardless of distribution, to snap install myjavaapp.
- Directly control the delivery of automatic application updates.
Distributing a Java application for Linux and reaching the widest possible audience is complicated. Typically, the user has to make sure the JRE/SDK version and their environment are configured correctly. When a Linux distribution changes the delivered JRE, this can be problematic for applications. Snapcraft ensures the correct JRE is shipped alongside the application at all times.
In just a few steps, you’ll have an example Java app in the Snap Store.
Here’s how freeplane defines snapcraft.yaml:
Why are snaps good for MOOS projects?
- Bundle all the runtime requirements, including the exact version of MOOS/MOOS-IvP and system libraries you need.
- Directly and reliably control the delivery of application updates using existing infrastructure.
- Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision.
- Extremely simple creation of daemons.
In just a few steps, you’ll have an example MOOS app in the Snap Store.
Here’s an example snapcraft.yaml that uses MOOS:
Why are snaps good for Node.js projects?
- Easy to discover and install by millions using the Snap Store or command-line every day.
- Automatically updated to the latest stable version of your app.
- Revert to the previous version if an update fails, preserving data.
With npm you can distribute apps to other developers, but it’s not tailored to end users. Snaps let you distribute your Node app in an app store experience.
In just a few steps, you’ll have an example Node.js app in the Snap Store.
Here’s how wethr defines snapcraft.yaml:
Why are snaps good for pre-built apps?
- Easy to discover and install by millions using the Snap Store or command-line every day
- Automatically updated to the latest stable version of your app
- Revert to the previous version if an update fails, preserving data
- Isolation ensures no conflicts between applications
- Identical behaviour across Linux distributions, even with library dependencies
Distributing the Linux build of your app as a zip lets you provide one download and set of instructions for all of Linux. However, end user discovery and update management remain a challenge. Snaps fill this gap, letting you wrap your existing Linux build in an app store experience for end users.
In just a few steps, you’ll have an example pre-built app in the Snap Store.
How geekbench4 defines snapcraft.yaml
Why are snaps good for Python projects?
- Easy to discover and install by millions using the Snap Store or command-line every day
- Automatically updated to the latest stable version of your app
- Revert to the previous version if an update fails, preserving data
- Isolation ensures no conflicts between applications
- Identical behaviour across Linux distributions, even with library dependencies
With PyPI you can distribute apps to other developers, but it’s not tailored to end users. Virtualenv lets you install an app’s dependencies in isolation, but it’s not automatically used for installs from PyPI. Snaps let you distribute a dependency-isolated Python app in an app store experience for end users.
In just a few steps, you’ll have an example Python app in the Snap Store.
Источник