Centos пакет snapd недоступен ошибка выполнять нечего

Обновлено: 03.07.2024

Одно из самых обсуждаемых нововведений в 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 - это пакет приложения для 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 пакетами.

Давайте посмотрит на то, как в терминале управлять snap пакетами. Если написать:

и дважды нажать клавишу TAB (автодополнение), то мы увидим сколько же команд у данного инструмента:

Список команд snap

В рамках данной статьи мы рассмотрим самые общие и необходимые.

Поиск snap пакетов.

Искать snap пакеты можно с помощью команды в терминале:

Если знаете полностью название программы, к примеру, давайте найдем Inkscape, шикарный графический инструмент для создания и редактирования векторной графики:

Поиск snap пакетов

Но можно искать программы и по части названия, попробуем найти музыкальный плеер Clementine:

Поиск snap пакетов

А если требуется поискать по нескольким словам, то надо заключать искомую фразу в кавычки:

Поиск snap пакетов

В колонке Name написано правильное название snap пакета, которое нужно вписывать в команду установки.

Галочка ✓ в колонке Publisher означает, что этот издатель проверенный. К примеру, выше на скриншоте означает, что, компания JetBrains официально добавила свои инструменты разработки в snap store (хранилище snap пакетов).

Установка snap пакетов.

В общем виде команда установки snap пакета выглядит следующим образом:

К примеру, мы нашли с помощью команды find из предыдущего пункта приложение Postman (для тестирования API), смотрим на колонку Name, копируем название пакета и вставляем его в команду установки:

Вот так выглядит установка snap пакета:

Установка snap пакетов

Не забывайте про автодополнение по клавише Tab.

Автодополнение работает и при написании названия программы:

  • при однократном нажатии будет дописано полное название приложения (если нет похожих);
  • при двойном появится список всех доступных пакетов с похожими названиями.

Установка snap пакетов

Теперь ярлык установленной программы можно найти среди других программ.

Типы snap пакетов.

Есть два типа snap пакетов:

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

К примеру, многие IDE (интегрированные среды разработки) являются классическими snap пакетами.

Если мы попытаемся установить IntelliJ IDEA обычным способом:

то получим ошибку:

Типы snap пакетов

Выдается предупреждение, что этот пакет является классическим и имеет доступ ко всем ресурсам системы, и если мы хотим его установить, то надо использовать флаг --classic.

Указываем флаг и пробуем установку:

Типы snap пакетов

Старайтесь не устанавливать классические snap пакеты от непроверенных разработчиков (без галочки).

При поиске в колонке Notes можно узнать, является ли snap пакет классическим:

Типы snap пакетов

Просмотр полной информации о snap пакете.

Чтобы посмотреть полную информацию о пакете, нужно выполнить следующую команду:

К примеру, давайте посмотрим информацию о пакете postman:

Просмотр полной информации о snap пакете

Вывод списка установленных snap пакетов.

Чтобы отобразить список всех установленных snap пакетов в систему, введите в терминале следующую команду:

Вывод списка установленных snap пакетов

Обновление snap пакетов.

Все snap пакеты автоматически обновляются. Проверка происходит 4 раза в день, в этом можно убедиться, выполнив следующую команду:

Обновление snap пакетов

В следующей статье разберем подробнее данные настройки автоматического обновления.

Чтобы вручную обновить все snap пакеты, нужно ввести следующую команду в терминале:

Чтобы обновить какой-то один пакет:

Вот как это выглядит:

Обновление snap пакетов

Удаление snap пакетов.

В общем виде команда для удаления snap пакета выглядит следующим образом:

Например, удалим приложение postman:

Удаление snap пакетов

Выключение и включение snap пакетов.

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

Чтобы отключить какое-либо snap приложение, используется следующая команда:

В любой момент можно снова включить snap пакет, выполнив следующую команду в терминале:

Вот как это выглядит:

Выключение и включение snap пакетов

Магазины приложений snap пакетов.

То, что можно управлять snap пакетами - это круто, но простому пользователю Linux нужны нормальные магазины приложений. К примеру, как GooglePlay на Android или как App Store на iOS.

Давайте посмотрим, что может предложить нам Linux в плане магазинов для установки snap пакетов.

Snapcraft Store - веб версия магазина snap приложений.

Данный магазин приложений доступен по адресу:

Snapcraft Store

К сожалению, пока нет локализации, то есть, перевода на другие языки кроме английского. Но может в будущем это будет исправлено.

Можно искать по имени приложения, или просто просматривать по категориям. На странице какого-либо приложения, можно посмотреть скриншот окна приложения, детальную информацию.

Snapcraft Store

Чтобы установить данное приложение, нужно нажать кнопку Install:

Snapcraft Store

Можно скопировать консольную команду установки данного snap пакета. Либо на системе Ubuntu нажать кнопку "View in Desktop store", тогда будет открыт "Менеджер приложений Ubuntu", в котором можно уже установить выбранный snap пакет:

Snapcraft Store

Менеджер приложений Ubuntu или Gnome Software.

В Ubuntu Менеджер приложений Ubuntu является Gnome Software. И подключен плагин к нему, который позволяет искать, просматривать, устанавливать и удалять snap пакеты.

На другой операционной системе с оболочкой рабочего стола Gnome, вам нужны следующие пакеты:

В Ubuntu 18.04 и выше ничего делать не нужно дополнительно, всё уже преднастроено за вас.

Просто открываем и ищем приложения, к примеру, поищем vlc:

Менеджер приложений Ubuntu или Gnome Software

В "Подробностях" можно увидеть в "Источнике", что приложение будет установлено из Snap Store.

На вкладке "Установлено" также будут видны установленные snap пакеты:

Менеджер приложений Ubuntu или Gnome Software

Если перейти на страницу установленного приложения, можно не только "Запустить" и "Удалить", но и настроить разрешения (Permissions) данного snap пакета:

Менеджер приложений Ubuntu или Gnome Software

Менеджер приложений Ubuntu или Gnome Software

Магазин Snappy или Snap Store.

Согласитесь, что предыдущие два магазина приложений не совсем удобные:

  • В первом случае мы просто увидим консольную команду или откроем в Gnome Software (Менеджере приложений Ubuntu).
  • Во втором случае нужно окружение рабочего стола Gnome и кроме того, в нем ищутся не только лишь snap пакеты, а все пакеты приложений из всех подключенных репозиториев.

Поэтому есть Магазин Snappy, исключительно для управления snap пакетами:

Магазин Snappy

Установить его можно по адресу:

или выполнив следующую команду в терминале:

После установки будет создан ярлык данного приложения.

Функционал похож на Менеджер приложений Ubuntu, только в этом магазине нет других пакетов, кроме snap.


Snap пакеты

Пакетная система 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 - это система управления и распределения пакетов, предоставляемая компанией Canonical (авторами Ubuntu). В этой статье мы рассмотрим как установить и использовать Snap на различных дистрибутивах Linux.

До сего момента вы уже могли слышать о Snap. Canonical описывает свою разработку как универсальный способ установки пакетов на любом дистрибутиве Linux.

Сами Snap-пакеты представляют собой заранее скомпилированные, вместе со всеми своими зависимостями и библиотеками, приложения, для которых, ко всему прочему, еще и существует своя собственная изолированная среда запуска. Они легче и быстрее устанавливаются, могут получать последние обновления, а также более безопасны, с точки зрения доступа к операционной системе и важным файлам.

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

Преимущества Snap:

  • Создаются один раз и для всех поддерживающих платформ. Помимо всего прочего, Snap-пакеты содержат все зависимости и библиотеки, а это значит, что каких-либо проблем с запуском и использованием почти не будет.
  • Автоматически обновляются
  • Один Snap для всего: дистрибутив Linux, сервер или облако.
  • Доступность разных версий: вы в любой момент можете переключаться между стабильной, бета и даже ежедневной версиями любого Snap-приложения
  • Безопасность: Snap-приложения всегда запускаются в изолированной среде у которой нет доступа к остальной части вашей операционной системы.

Как установить Snap на Linux

snap-linux-support

Перед установкой Snap-пакетов необходимо установить Snapd - среду управления, которая обрабатывает установку и обновления Snap-приложений в вашем дистрибутиве Linux.

Включение поддержки Snap в Debian и Ubuntu

Если вы хотите использовать Snap на Linux Mint и других дистрибутивах, основанных на Debian или Ubuntu, то используйте эту команду:

Включение поддержки Snap в дистрибутивах Fedora:

Включение поддержки Snap в Arch-based дистрибутивах

Spapd доступен в AUR. Используйте команды ниже, чтобы установить его оттуда.

Включение поддержка Snap в дистрибутивах OpenSuse

Официально Snapd не включен в OpenSuse, с помощью команд ниже вы сможете установить его на Tumbleweed.

Как только Snapd будет успешно установлен из репозиториев сообщества, не забудьте включить его с помощью команды:

Основные команды Snap

При работе с приложениями Snap вам необходимо будет запомнить несколько команд, которые будут помогать вам выполнить различные (иногда весьма важные) действия.

Поиск

Рано или поздно вы захотите найти какое-нибудь приложение, а если быть точнее, Snap-версию этого приложения. Следующая команда поможет вам в этом:

snap1

Установка Snap-пакета

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

Список установленных Snap-приложений:

Далее вы сможете найти ее в этом списке:

Обновление Snap-пакета до последней версии

Приложения Snap обновляются автоматически, однако если это по каким-то причинам не произошло, вы можете использовать эту команду:

Удаление Snap-приложения

Чтобы удалить приложение Snap используйте следующую команду:

Выводы

В различных дистрибутивах Linux нет единого способа установки приложений. Разработчикам приходится собирать разные пакеты для каждого отдельного семейства дистрибутивов, что отнимает у них больше времени и сил. Snap мог бы стать отличным решением этой, и еще ряда других (связанных с отсутствием зависимостей и библиотек) проблем.

Читайте также: