Главная >> Инструкции >> Установка Snap в Linux

Установка 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:

snap list

Многие из программ Ubuntu и Gnome уже поставляются в виде snap и их уже нельзя установить из обычных репозиториев. С помощью опции --all можно посмотреть все доступные версии определённого пакета:

snap list --all opera

6. История изменений

Также вы можете посмотреть историю изменений, внесенных, в систему с помощью этого пакетного менеджера:

snap changes

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

Если вы хотите обновить пакет snap, до более новой версии, выполните команду refresh:

sudo snap refresh opera

Если установлена самая свежая версия вы получите сообщение об ошибке.

Для обновления всех пакетов, установленных в системе просто выполните команду refresh:

sudo snap refresh

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

sudo snap revert opera

Выводы

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

А что вы думаете о системе управления пакетами и о самих пакетах snap? Будете использовать систему установки snap чаще чем apt? Напишите в комментариях!

Pеклама
Посмотреть детали

Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

31 комментарий к “Установка Snap в Linux”

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

    Ответить
  2. Прошу прощения, вспомнил свою "древнюю" мысль. Желательно, чтобы все пакеты были укомплектованы полностью всеми необходимыми библиотеками. Тогда их добавление в систему намного упростится. Сейчас новые компьютеры имеют оперативку уже около 16 Гбайт. Программ требующих такого объема памяти пока мало. Диски SSD стали доступны и если надо что-то взять с диска, это уже быстро. Зато установка и удаление программ становится на уровень копирования и переноса. Нечто подобное уже реализовано в PuppyRus-A03: cборка PuppyRus из пакетов Arch Linux.

    Ответить
  3. Какое "чаще", никогда не буду использовать snap 😉 Зачем в каждом пакете дублирование библиотек и т.д.? Это на убунтомобилах может и приживется, но не на ПК любых видов. imho

    Ответить
  4. snap пакет содержит саму программу, а также все ее зависимости. Я рада этому, я новичок в Ubuntu и с зависмостями столкнулась сразу же и нехваткой опыта куда и что. Ну не ставится зависимость порой и все тут. Куда копать - ищу пробую, конечно этот процесс освоения Ос по накоплению опыта. А тут выбор появился, может это и ряду поль-ей тоже понадобится, все равно отлично!

    Ответить
  5. Я так понял что этот способ может быть хорош тем кто устанавливает и настраивает ОС без доступа к интернету. Заранее скачал или создав самостоятельно желаемый snap пакет. В остальных случаях не вижу смысла в этом ни какого

    Ответить
  6. а можно сделать так чтобы программа установленная snap пакетом подхватывала системную цветовую тему оформления?

    Ответить
  7. Вроде snap мне понравился но если надо перейти на другой каталог в монтированном диске то полный облом (не видет их, а доступны только в папке HOME). Поэтому большие проблемы с медиа программами например VLC. Может со временем поправят, хотя мне кажется их придумали и для большей безопастности системы.

    Ответить
  8. У меня libreoffice установился только через snap (sudo snap install libreoffice). Версия: 18.04.1 LTS (Bionic Beaver)". Что до обычного apt, то после запуска libreoffice в терминале:
    /usr/lib/libreoffice/program/soffice.bin: symbol lookup error: /usr/lib/x86_64-linux-gnu/liborcus-0.13.so.0: undefined symbol: _ZN5boost9iostreams4zlib8deflatedE

    Ответить
  9. Apt умеет находить подгружать все зависимости. Зачем тогда snap? Похоже на попытку переманить потоки внимания разработчиков других систем на свой стандарт, чтобы они зависели от Cannonical.

    Ответить
    • Вот прямо так и запускать как и все другие программы. Можно с помощью главного меню системы. Но если очень хочется можно использовать команду snap run имя_пакета.

      Ответить
  10. Снап, это, конечно, хорошо, но это когда он есть. А команда установки в ЦентОС не работает))) Вот что пишет:Отсутствуют совпадения для аргумента: snapd
    Ошибка: Совпадений не найдено: snapd

    Ответить
  11. Добрый день, столкнулся с проблемой заполнения loop-разделов, созданными snap-ом. Подскажите как разрешить ситуацию? разделы забиты и некоторые программы не запускаются:
    /dev/loop1 243M 243M 0 100% /snap/chromium/1421
    /dev/loop21 119M 119M 0 100% /snap/chromium/1424
    /dev/loop12 291M 291M 0 100% /snap/vlc/1700
    /dev/loop9 50M 50M 0 100% /snap/snap-store/467
    /dev/loop11 44M 44M 0 100% /snap/riseup-vpn/161

    Ответить
  12. Программы из Snapa отсутствуют в меню приложений. При запуске из Менеджера приложений или через "snap run имя_пакета" - запущенную не прикрепить в Избранное, там только пункты "Все окна" и "Завершить". 18.04.5 LTS

    Ответить
  13. Привет парни!
    Этот snap - полный бред.
    Вот дожился. Наконец таки установил себе Линукс, чтобы в нем работать. И тут нововведение. Я как обыватель, знал всегда что в Линуксе фишка в пакетах, что библиотеки не тащатся по 10 раз подряд. А теперь получается этот snap - обычный exe файл установки для windows. Фишка линукса теряется вообщем. А геморр состоит в том, что теперь часть программ обычно устанавливается, часть snap. и это печально.
    Установил оперу. и теперь куча мусора от этого snap. Вопрос глобальный. Можно ли каким-то образом поставить все программы, котоорые нужны, без этого долбанного snap или же уже нет?
    Все программы ставил из Менеджера приложений ubuntu

    Ответить
  14. Всем привет. У меня через SNAP установлен rocket chat. Кто-нибудь знает,
    как добавить сертификаты. Мне нужно чтобы чат через https ходил?

    Ответить

Оставьте комментарий