- Ubuntu snap – что это такое и с чем его едят?
- Введение в снапы
- Snap (Русский)
- Contents
- Установка
- Настройка
- Управление snap-пакетами
- Поиск
- Установка пакетов
- Обновление пакетов
- Удаление пакетов
- Удаление
- Советы и рекомендации
- Classic snaps
- Помощь
- compizomania
- Страницы
- 05 августа 2018
- Что такое snap, и в чем его преимущества
- 📦 Работа с пакетами Snap в системах Linux
- Установка Snapd
- Просмотр установленных пакетов Snap
- Обновление Snap пакетов
- Понижение версии пакетов Snap
- Удаление пакетов snap
Ubuntu snap – что это такое и с чем его едят?
Относительно недавно в Ubuntu появился новый инструмент — снапы (от англ. snap), но что это такое и как их использовать знают далеко не все пользователи.
Введение в снапы
Представим вполне реальную ситуацию. Пользователь устанавливает самую новую версию Ubuntu, пусть это будет версия 16.04 — именно в ней и появились впервые снапы по умолчанию. По определенным причинам пользователь отключает обновления. Такая ситуация не надумана. Мы все знаем, что после обновления системы Ubuntu, к сожалению, не всегда работает корректно и даже не всегда загружается.
Пользователя все устраивает и он спокойно себе использует дистрибутив некоторое время. Через несколько лет пользователь хочет установить новую версию приложения, например, браузера и обнаруживает, что он не может этого сделать.
Почему? Да потому что его дистрибутив устарел. для установки приложения нужны новые версии библиотек, а для их установки нужно обновить уже установленные пакеты. Иногда процесс настолько масштабный, что приходится обновлять дистрибутив. А ведь мы знаем, что пользователь не хочет этого делать по ряду причин, да и это опасно: система может быть разрушена нарушения связей между программами и библиотеками.
Вторая ситуация. Пусть у пользователя самая новая версия дистрибутива (на данный момент — это 18.10) — чтобы никто не упрекнул нас в надуманности ситуации. Мы знаем, что у традиционных пакетов есть зависимости и конфликты. Иногда нельзя установить то или иное приложение, поскольку его библиотеки конфликтуют с библиотеками уже установленными в системе.
Обе проблемы настолько обширны, что разработчики Ubuntu изобрели снапы. Все мы знакомы с понятием пакета. Пакет содержит саму программу, а также различные вспомогательные файлы — документацию, ресурсы (картинки, например), файлы локализации, сценарии Но пакет не содержит всего, что нужно для работы этой программы в системе. Например, если программе для работы нужна библиотека GL, то просто в пакете «прописывается» зависимость — нужно установить пакет для работы этого пакета. При установке программы менеджер пакетов (apt) производит разрешение зависимостей — устанавливает все необходимые для работы этой программы пакеты.
С одной стороны, такой подход позволяет экономить место на диске. Ведь одну и ту же библиотеку не нужно устанавливать несколько раз. С другой стороны, это порождает уже описанные ранее проблемы.
Снап — это решение всей головной боли, как пользователя, так и разработчика приложения. Снап можно считать таким пакетом, в котором содержится не только программа, но и все необходимые для ее работы библиотеки. Получается, что все, что нужно для работы программы содержится в снапе.
Источник
Snap (Русский)
snapd это REST API демон для управления snap-пакетами («snaps»). Пользователи могут взаимодействовать с ним с помощью snap клиента, входящего в тот же пакет.
Contents
Установка
В пакет входит snapd демон, а также snap-confine, который обеспечивает монтирование, изоляцию и запуск snap-пакетов.
Настройка
В пакет также входят несколько systemd unit файлов, которые обеспечивают возможность обновления всех установленных snap-пакетов, при выходе новой версии.
Для того чтобы snapd демон запускался, когда snap обращается к нему, запустите snapd.socket .
Вы также можете активировать его при старте системы.
Для того чтобы автоматически обновлять пакеты активируйте snapd.refresh.timer :
Управление snap-пакетами
Для управления пакетами используется утилита snap.
Поиск
Для поиска пакетов, доступных для установки используйте команду find:
Это выведет список всех доступных пакетов. Для поиска конкретного пакета используйте:
Установка пакетов
Установить snap-пакет можно с помощью команды:
Установка требует root привилегий. Установка с правами пользователя на данный момент невозможна. При установке snap загружается в /var/lib/snapd/snaps и монтируется в /snap/имя_пакета .
Кроме того, создаются также юнит-файлы для каждого snap-пакета и добавляются в /etc/systemd/system/multi-user.target.wants/ , для того чтобы snap-пакеты монтировались при каждом запуске системы. Вы можете просмотреть список установленных пакетов командой:
Вы также можете устанавливать snap-пакеты локально, с жесткого диска:
Обновление пакетов
Для того чтобы обновить snap-пакеты выполните:
Удаление пакетов
Для того чтобы удалить пакет выполните:
Удаление
Удаление пакета snapd AUR не приводит к удалению всех каталогов и файлов, которые создаются при его использовании. Лучше всего удалить все snap-пакеты с помощью snap remove, перед тем как удалять сам пакет. Однако, на данный момент невозможно удалить snap-пакет ubuntu-core. Для того чтобы полностью удалить все файлы следуйте инструкции ниже.
1. Отмонтируйте все активные snap-пакеты из /snap .
2. Удалите следующие каталоги:
3. Удалите все файлы, отвечающие за монтирование snap-пакетов из /var/lib/snapd/snaps в /snap при загрузке.
Советы и рекомендации
Classic snaps
Some snaps (e.g. Skype and Pycharm) use classic confinement. However, classic confinement requires the /snap directory, which is not FHS-compliant. Therefore, the snapd package does not ship this directory. However, if the user wants to, he can manually create a symlink from /snap to /var/lib/snapd/snap , to allow the installation of classic snaps:
Помощь
Почтовая рассылка Arch Linux и другие официальные каналы поддержки Arch Linux не являются подходящим местом для запроса помощи по snap-пакетам на Arch Linux. Подходящим местом для запроса поддержки является Snapcraft forum.
Источник
compizomania
Азбука в Linux для начинающих и не только. Я знаю только то, что ничего не знаю, но другие не знают и этого. Сократ
Страницы
05 августа 2018
Что такое snap, и в чем его преимущества
Snap — это универсальный пакет, созданный Canonical (Ubuntu), который доступен для каждой операционной системы Linux, поддерживающей snapd: Ubuntu, Debian, Linux Mint, Gentoo, Arch Linux, Fedora, OpenWrt, OpenEmbedded, Yocto, openSUSE, Manjaro, Solus.
Более того, snap будет хорошо работать в любом дистрибутиве Linux без каких-либо дополнительных модификаций, так как он уже содержит все необходимые зависимости.
Snap-пакеты являются самодостаточными, в отличие от традиционных подходов к управлению пакетами Linux, такими как APT или YUM, которые требуют специальной адаптации для каждого дистрибутива и добавляют задержку между разработкой приложений и ее развертыванием для конечных пользователей.
Менеджером snap-пакетов является служба snapd (d-demon), которая работает в фоновом режиме.
Прежде чем начать установку snap-пакетов в дистрибутивах Linux, необходимо установить Менеджер пакетов snapd.
В каждом из дистрибутивов Linux, snapd устанавливается по-своему.
Инструкцию по установке snapd для каждого дистрибутива можно найти на официальной странице https://docs.snapcraft.io/core/install.
Инструкция по установке snapd:
После того как snapd установлен, вы можете устанавливать приложения посредством snap-пакетов.
Устанавливать snap-пакеты можно как из магазина Snap Store, так и посредством терминала.
1. Установка из магазина Snap Store.
Переходите по ссылке https://snapcraft.io/store в магазин Snap Store и выбираете программу, кликом на значке.
Нажимаете кнопку Install (Установить).
Копируете установочную терминальную команду на выполнение.
И выполняете её в терминале.
По окончании установки программы терминал известит вас об этом: ‘opera-software’ installed (‘приложение opera’ установлено).
Примечание. Терминальная команда sudo snap install название программы является универсальной для любого из перечисленных выше дистрибутивов Linux.
2. Установка snsp-пакетов непосредственно из терминала, без захода в магазин Snap Store.
Откройте терминал и выполните команду:
find в переводе с английского означает найти.
После выполнения этой команды, терминал выводит перечень/список snap-пакетов.
Если в команде указана конкретная программа, терминал вам выдаст возможный перечень версий программы для установки.
snap find opera
Скопируйте в установочную команду название выбранной версии и выполните команду в терминале. Пример:
sudo snap install —beta opera-beta
Примечание. Команда snap install opera-beta не перезаписывает установленную стабильную версию программы, они будут работать автономно. В системном меню вы найдёте обе программы.
Установка snap-пакетов требует root привилегий (sudo). Установка с правами пользователя на данный момент невозможна. При установке snap загружается в /var/lib/snapd/snaps и монтируется в /snap/имя_пакета.
Кроме того, создаются также юнит-файлы для каждого snap-пакета и добавляются в /etc/systemd/system/multi-user.target.wants/, для того чтобы snap-пакеты монтировались при каждом запуске системы.
Поиском в snap-пакетах (snap find weather) я нашёл очень интересную консольную программу погоды от Яндекс — yandex-weather-cli.
Выполните в терминале следующую команду на установку yandex-weather-cli.
sudo snap install yandex-weather-cli —edge
По окончании установки, введите и выполните команду:
Данная команда по умолчанию выводит в терминале погодные условия вашей местности:
Если вы к команде добавите искомый город (на английском языке) в нижнем регистре, то получите вывод погодных данных в этом городе. Например, я добавил г. Москва (moscow):
Посмотреть список установленных snsp-пакетов
Вы можете просмотреть список установленных у вас snsp-пакетов командой:
Мой вывод команды списка установленных программ посредством snap:
3. Удаление пакетов snap
Для того чтобы удалить пакет выполните в терминале: sudo snap remove имя пакета. Например:
sudo snap remove opera-beta
Подробней о командах snap можно познакомиться, выполнив команду в терминале:
Источник
📦 Работа с пакетами Snap в системах Linux
Snap или Snappy – это система управления пакетами, разработанная Canonical для операционной системы Linux.
Пакеты называются snap, и инструмент для их использования snapd, который работает во многих дистрибутивах Linux.
Пакет Snap – это контейнерные программные пакеты, в которых содержатся все требования.
Снэпы просты в установке пакетов и предоставляют функции автоматического обновления.
Вы можете установить широкий спектр пакетов, доступных в магазине Snapcraft, одной командой.
В этом руководстве вы узнаете, как использовать пакеты Snap в дистрибутивах Linux.
Установка Snapd
Snapd – это демон REST API для управления пакетами snap.
Он также предоставляет утилиту командной строки мгновенного клиента для взаимодействия с sanpd deamon.
Пользователи могут взаимодействовать с ним с помощью snap клиента.
В большинстве последних операционных систем Linux предварительно утстанолвен демон snapd.
Но если на вашем Linux-компьютере не установлен snapd, используйте одну из следующих команд для ее установки.
Чтобы установить Snapd в системах на основе Debian, введите:
Чтобы установить Snapd в системах на базе Redhat, введите:
Просмотр установленных пакетов Snap
Используйте команду snap list для просмотра всех установленных пакетов в вашей системе.
Для просмотра установленных пакетов введите:
Обновление Snap пакетов
Пакеты Snap автоматически обновляются по умолчанию.
Вы также можете обновить их вручную с помощью командной строки.
Чтобы узнать доступные обновления пакетов, выполните:
Используйте приведенную ниже команду для обновления пакетов Snap в вашей системе.
Понижение версии пакетов Snap
Snapd также позволяет вернуть любой пакет к ранее установленным версиям.
Если вы случайно обновили пакет или вам не понравился обновленный пакет, и спользуйте следующую команду для возврата версии любого пакета:
Удаление пакетов snap
Вы можете удалить пакеты Snap в любое время, когда вам это нужно.
Запустите следующую команду с именем пакета для удаления из вашей системы:
Источник