Snap как запустить приложение
Snap - это пакет приложения для Linux систем, который легко устанавливать без дополнительных зависимостей.
Вся подробная документация (на английском языке) о snap находится здесь:
Зачем вообще нужна ещё одна система для установки приложений?
В отличие от привычных deb-пакетов и rpm-пакетов, snap пакеты несут в себе все зависимости. То есть, когда мы устанавливаем deb-пакет или rpm-пакет, то предполагается, что все зависимости мы скачаем из подключенных репозиториев системы.
Если вы поинтересуетесь темой, сколько существует всевозможных дистрибутивов Linux, для разработчика это проблема выпускать под весь этот зоопарк свой софт, а пользователю зачастую приходится самому решать проблему с отсутствующей зависимостью.
Какой бы крутой и быстрой не была бы ваша операционная система, все решает количество написанного для нее ПО и легкость его установки. Поэтому и был сделан новый инструмент, который бы облегчил бы жизнь как разработчиков, так и пользователям.
Один из минусов - это то, что snap пакеты занимают больше места на диске, так как содержат в себе все зависимости.
Установка поддержки snap пакетов.
Snap уже предустановлен в системе, начиная с Ubuntu 16.04. Ничего дополнительно устанавливать не требуется.
Огромное количество дистрибутивов уже поддерживают snap: Arch Linux, CentOS, Debian, Deepin, Elementary OS, Fedora, GalliumOS, KDE Neon, Kubuntu, Linux Mint, Lubuntu, Manjaro Linux, openSUSE, Parrot Security OS, Raspbian, Solus, Ubuntu, Xubuntu, Zorin OS.
Обычно, достаточно установить службу snapd из репозитория вашего дистрибутива, которая отвечает за работу snap приложений, к примеру на Fedora:
Проверка работоспособности snap в системе.
Проверяем, что snap работает нормально в вашей ОС следующей командой:
Если все хорошо, то увидете в консоле версию snap и snapd:
Управление snap пакетами.
Давайте посмотрит на то, как в терминале управлять snap пакетами. Если написать:
и дважды нажать клавишу TAB (автодополнение), то мы увидим сколько же команд у данного инструмента:
В рамках данной статьи мы рассмотрим самые общие и необходимые.
Поиск snap пакетов.
Искать snap пакеты можно с помощью команды в терминале:
Если знаете полностью название программы, к примеру, давайте найдем Inkscape, шикарный графический инструмент для создания и редактирования векторной графики:
Но можно искать программы и по части названия, попробуем найти музыкальный плеер Clementine:
А если требуется поискать по нескольким словам, то надо заключать искомую фразу в кавычки:
В колонке Name написано правильное название snap пакета, которое нужно вписывать в команду установки.
Галочка ✓ в колонке Publisher означает, что этот издатель проверенный. К примеру, выше на скриншоте означает, что, компания JetBrains официально добавила свои инструменты разработки в snap store (хранилище snap пакетов).
Установка snap пакетов.
В общем виде команда установки snap пакета выглядит следующим образом:
К примеру, мы нашли с помощью команды find из предыдущего пункта приложение Postman (для тестирования API), смотрим на колонку Name, копируем название пакета и вставляем его в команду установки:
Вот так выглядит установка snap пакета:
Не забывайте про автодополнение по клавише Tab.
Автодополнение работает и при написании названия программы:
- при однократном нажатии будет дописано полное название приложения (если нет похожих);
- при двойном появится список всех доступных пакетов с похожими названиями.
Теперь ярлык установленной программы можно найти среди других программ.
Типы snap пакетов.
Есть два типа snap пакетов:
- Strict - большинстов пакетов, которые изолированны от основной системы. Им для доступа к системным ресурсам требуется разрешения. Про то как настроить разрешения, будет чуть ниже в статье.
- Classic - эти пакеты получают доступ ко всем ресурсам системы, то есть как обычные системные пакеты. При их установке требуется флаг --classic.
К примеру, многие IDE (интегрированные среды разработки) являются классическими snap пакетами.
Если мы попытаемся установить IntelliJ IDEA обычным способом:
то получим ошибку:
Выдается предупреждение, что этот пакет является классическим и имеет доступ ко всем ресурсам системы, и если мы хотим его установить, то надо использовать флаг --classic.
Указываем флаг и пробуем установку:
Старайтесь не устанавливать классические snap пакеты от непроверенных разработчиков (без галочки).
При поиске в колонке Notes можно узнать, является ли snap пакет классическим:
Просмотр полной информации о snap пакете.
Чтобы посмотреть полную информацию о пакете, нужно выполнить следующую команду:
К примеру, давайте посмотрим информацию о пакете postman:
Вывод списка установленных snap пакетов.
Чтобы отобразить список всех установленных snap пакетов в систему, введите в терминале следующую команду:
Обновление snap пакетов.
Все snap пакеты автоматически обновляются. Проверка происходит 4 раза в день, в этом можно убедиться, выполнив следующую команду:
В следующей статье разберем подробнее данные настройки автоматического обновления.
Чтобы вручную обновить все snap пакеты, нужно ввести следующую команду в терминале:
Чтобы обновить какой-то один пакет:
Вот как это выглядит:
Удаление snap пакетов.
В общем виде команда для удаления snap пакета выглядит следующим образом:
Например, удалим приложение postman:
Выключение и включение snap пакетов.
Если не хотите удалять какие-то приложения, то их можно просто отключить. В этом случае пропадет ярлык приложения и оно не будет обновляться. И в любой момент можно будет его снова включить. Таким образом, нам не нужно будет его скачивать по новой и устанавливать.
Чтобы отключить какое-либо snap приложение, используется следующая команда:
В любой момент можно снова включить snap пакет, выполнив следующую команду в терминале:
Вот как это выглядит:
Магазины приложений snap пакетов.
То, что можно управлять snap пакетами - это круто, но простому пользователю Linux нужны нормальные магазины приложений. К примеру, как GooglePlay на Android или как App Store на iOS.
Давайте посмотрим, что может предложить нам Linux в плане магазинов для установки snap пакетов.
Snapcraft Store - веб версия магазина snap приложений.
Данный магазин приложений доступен по адресу:
К сожалению, пока нет локализации, то есть, перевода на другие языки кроме английского. Но может в будущем это будет исправлено.
Можно искать по имени приложения, или просто просматривать по категориям. На странице какого-либо приложения, можно посмотреть скриншот окна приложения, детальную информацию.
Чтобы установить данное приложение, нужно нажать кнопку Install:
Можно скопировать консольную команду установки данного snap пакета. Либо на системе Ubuntu нажать кнопку "View in Desktop store", тогда будет открыт "Менеджер приложений Ubuntu", в котором можно уже установить выбранный snap пакет:
Менеджер приложений Ubuntu или Gnome Software.
В Ubuntu Менеджер приложений Ubuntu является Gnome Software. И подключен плагин к нему, который позволяет искать, просматривать, устанавливать и удалять snap пакеты.
На другой операционной системе с оболочкой рабочего стола Gnome, вам нужны следующие пакеты:
В Ubuntu 18.04 и выше ничего делать не нужно дополнительно, всё уже преднастроено за вас.
Просто открываем и ищем приложения, к примеру, поищем vlc:
В "Подробностях" можно увидеть в "Источнике", что приложение будет установлено из Snap Store.
На вкладке "Установлено" также будут видны установленные snap пакеты:
Если перейти на страницу установленного приложения, можно не только "Запустить" и "Удалить", но и настроить разрешения (Permissions) данного snap пакета:
Магазин Snappy или Snap Store.
Согласитесь, что предыдущие два магазина приложений не совсем удобные:
- В первом случае мы просто увидим консольную команду или откроем в Gnome Software (Менеджере приложений Ubuntu).
- Во втором случае нужно окружение рабочего стола Gnome и кроме того, в нем ищутся не только лишь snap пакеты, а все пакеты приложений из всех подключенных репозиториев.
Поэтому есть Магазин Snappy, исключительно для управления snap пакетами:
Установить его можно по адресу:
или выполнив следующую команду в терминале:
После установки будет создан ярлык данного приложения.
Функционал похож на Менеджер приложений Ubuntu, только в этом магазине нет других пакетов, кроме snap.
Одно из самых обсуждаемых нововведений в 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
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
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 была созданная компанией Canonical и изначально появилась в дистрибутиве Ubuntu Linux. Ее смысл заключается в том, что в пакет с приложением входит полный набор компонентов, необходимых для запуска данного приложения. Такие пакеты можно устанавливать в систему не заботясь о зависимостях, так как все зависимости уже включены в пакет.
Так как идея Snap пакетов имеет множество преимуществ, снапы быстро стали популярными и теперь используются не только в Ubuntu, но и в других дистрибутивах Linux: Debian, openSUSE, Arch Linux, Gentoo, Fedora и др.
Что такое Snap-пакет
Мы привыкли устанавливать приложения из DEB и RPM пакетов. Такие пакеты содержат саму программу, но не включают зависимости, которые требуются для запуска данного приложения.
Snap-пакет — это пакет, который помимо готовой сборки самого приложения, включает в себя все необходимые зависимости и может работать (почти) в любом дистрибутиве Linux.
Когда вы устанавливаете в систему приложение из Snap-пакета, то установка не влияет на другие пакеты и приложения. То есть такое приложение работает в своей «программной среде», но при этом оно может взаимодействовать с другими программами в системе.
Система управления Snap-пакетами поддерживает автоматическое обновление установленных в системе Snap-пакетов.
Установка поддержки Snap
Для управления Snap-пакетами в Linux используется демон snapd. Для его установки необходимо установить пакет — snapd.
Пользователь использует клиент snap для управления пакетами. Клиент snap входит в состав пакета snapd.
Установка поддержки Snap в Ubuntu Linux
В новых версиях Ubuntu поддержка Snap уже включена. Если это не так, то для установки Snap в Ubuntu Linux выполните команду:
Аналогично выполняется установка в Debian, Linux Mint, Elementary OS и других Ubuntu/Debian-based дистрибутивах.
Установка поддержки Snap в Fedora
После установки выйдите и войдите в систему.
Установка поддержки Snap в Arch Linux
Работа со Snap-пакетами
Установка пакетов
Для установки пакетов используется команда snap install имя_пакета
Пример установки графического редактора GIMP из Snap-пакета:
После ввода команды будет открыто окно для ввода пароля, так как требуются привилегии root-пользователя. Или используйте sudo:
Обновление пакетов
Для обновления пакетов используется команда snap refresh
Обновление всех установленных пакетов:
Обновление одного пакета:
Удаление пакетов
Для удаления пакетов используется команда snap remove имя_пакета
Просмотр установленных пакетов
Для просмотра списка установленных пакетов используется команда snap list
Поиск пакетов
Для поиска пакетов используется команда snap find запрос
Поиск выполняется не только по имени пакета, но и по описанию, поэтому можно использовать произвольный запрос:
Информация о пакете
Для получения информации о каком-либо пакете используется команда snap info имя_пакета
Откат обновления
Если по каким-то причинам вы хотите отменить обновления, которые были выполнены над каким-либо Snap-пакетом, то можно использовать команду snap revert имя_пакета , чтобы вернуть пакет к предыдущей версии.
Временно отключить пакет
Чтобы временно отключить пакет используется команда snap disable имя_пакета
Чтобы снова сделать пакет доступным используется команда snap enable имя_пакета :
Запуск Snap-пакетов
Для запуска Snap-пакета можно использовать команду snap run имя_пакета
Также приложения, установленные через Snap, можно запускать через главное меню вашего дистрибутива или лаунчер. Но данная функциональность может зависеть от конкретной системы.
Заключение
Мы кратко рассказали о том, что представляют из себя Snap-пакеты и как с ними работать. Snap-пакеты не единственные представители подобного типа пакетов в Linux. Также популярны пакеты AppImage и Flatpak.
Это вторая статья в серии из двух частей, посвященной руководству для начинающих по Snap в Linux. В ней рассказывается, как запускать программы snap из командной строки, создавать и использовать псевдонимы snap, взаимодействовать со службами snap, а также создавать snap и управлять ими.
Snap может предоставлять отдельное приложение (или группу приложений), которое вы запускаете из графического пользовательского интерфейса или с помощью команд. По умолчанию все приложения, связанные со snap, устанавливаются в каталог /snap/bin/ в дистрибутивах на основе Debian и в /var/lib/snapd/snap/bin/ для дистрибутивов на основе RHEL.
Вы можете просмотреть содержимое каталога snap, используя команду ls, как показано ниже.
Чтобы запустить приложение из командной строки, просто введите его абсолютный путь, например:
Чтобы ввести только имя приложения, не вводя его полный путь, убедитесь, что /snap/bin/ или /var/lib/snapd/snap/bin/ находится в переменной среды PATH (он должен быть добавлен по умолчанию).
Если директория /snap/bin/ или /var/lib/snapd/snap/bin/ есть в вашей переменной PATH, вы можете запустить приложение, просто набрав его имя/команду:
Вы также можете найти абсолютный путь к приложению или команде, используя команду which.
Snap также поддерживает создание псевдонимов для приложений. Псевдонимы snap по умолчанию (или стандартные) должны пройти процесс публичной проверки, прежде чем они будут включены, но вы создаете псевдонимы для своей локальной системы.
Вы можете создать псевдоним для snap с помощью команды alias.
Чтобы получить список псевдонимов для snap, например mailspring, выполните приведенную ниже команду. С этого момента вы можете использовать псевдоним для запуска snap.
Чтобы удалить псевдоним для snap, используйте команду unalias.
Для некоторых пакетов snap базовая функциональность предоставляется через приложения, которые работают как демоны или службы, после установки пакета они автоматически запускаются для непрерывной работы в фоновом режиме. Кроме того, службы также могут автоматически запускаться при загрузке системы. Важно отметить, что один пакет snap может содержать несколько приложений и служб, которые работают вместе, чтобы обеспечить общую функциональность этой программы.
Вы можете перекрестно проверить пакет на наличие служб, используя команду services. Выходные данные команды показывают службу, включена ли она для автоматического запуска при загрузке системы и активна она или нет.
Чтобы остановить работу службы, например rocketchat, используйте команду stop. Обратите внимание, что это действие не рекомендуется, так как остановка службы (служб) snap вручную может привести к сбою в ее работе.
Чтобы запустить службу, например, rocketchat, используйте команду start.
Чтобы перезапустить службу после внесения некоторых пользовательских изменений в приложение snap, используйте команду restart. Обратите внимание, что по умолчанию будут перезапущены все службы для указанного приложения:
Чтобы включить автоматический запуск службы во время загрузки системы, используйте команду enable.
Чтобы предотвратить автоматический запуск службы при следующей загрузке системы, используйте команду disable.
Чтобы просмотреть журналы службы, используйте команду log с параметром -f, который позволяет просматривать журналы на экране в режиме реального времени.
Важно: Вы можете запускать вышеуказанные служебные команды как для отдельных служб snap, так и для всех служб для именованного snap, в зависимости от предоставленного параметра. Это означает, что вы можете использовать более конкретное имя службы, если у данного приложения snap много служб.
Snapd хранит копию данных пользователя, системы и конфигурации для одного или нескольких snap. Вы можете активировать их вручную или настроить на автоматическую работу. Таким образом, вы можете сделать резервную копию состояния snap, вернуть его к предыдущему состоянию, а также восстановить новую установку snapd до ранее сохраненного состояния.
Если имя snap не указано, snapd сгенерирует снимки для всех установленных snap (добавьте параметр --no-wait для запуска процесса в фоновом режиме, чтобы освободить терминал и позволить запускать другие команды).
Чтобы просмотреть состояние всех снимков, используйте сохраненную команду. Вы можете использовать флаг --id, чтобы показать состояние определенного снимка:
Вы можете проверить целостность снимка с помощью команды check-snapshot и идентификатора снимка (ID):
Чтобы восстановить данные текущего пользователя, системы и конфигурации с соответствующими данными из определенного снимка, используйте команду восстановления и укажите идентификатор снимка:
На этом мы подошли к концу этой серии из двух частей, посвященной руководству для начинающих по использованию snap в Linux. Для получения дополнительной информации, особенно о настройке параметров системы для настройки среды привязки и многого другого, см. документацию по Snap. Как обычно, ваши вопросы или комментарии приветствуются через форму обратной связи ниже.
Комментариев нет:
Подпишитесь на RSS
Перевод. Оригинал здесь. Если вы новичек в Linux и ранее использовали iTunes для управления своим iPod/iPhone/iPad, то скорее всего буд.
uTorrent - это легкий и эффективный торрент-клиент для Linux, Windows OS и Mac OS. Установка uTorrent в Linux отличается тем, что здесь uT.
Вы можете запускать скрипты на python в Linux непосредственно из терминала. Знать, как это делается, полезно как программистам, так и пол.
Как вы наверное знаете, Safari является браузером по умолчанию в Mac OS X и iPhone OS. Вышло уже несколько релизов и для Windows, но версии .
Способ сброса пароля root в CentOS 7 кардинально отличается от такового в Centos 6. 1. В загрузочном меню нажмите "е" - реда.
Читайте также: