Главная >> Инструкции >> Установка 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? Напишите в комментариях!

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 ходил?

    Ответить

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