Введение в универсальный формат пакетов Linux для новичков.
Введение
Что такое снапы и почему их следует использовать? Экосистема Linux страдает от старой проблемы с момента зарождения концепции «дистрибуции»: проблема в фрагментации. Одна из самых больших проблем, вызывающих эту фрагментацию, — это разные форматы пакетов; Я не могу запустить свои .debs в своей системе Fedora или свои .rpms в своей Машина с Убунтой. Да, у нас есть Alien, который должен позволять переход между двумя форматами, но у этого подхода есть две проблемы: есть другие пакеты. форматы, кроме rpm и deb, и кроме того, Alien не всегда работает должным образом. Так что проблема все еще существует, или, я бы сказал, была там. Введите Snap, универсальный Linux формат пакета, который стремится предложить пользователям и разработчикам единый формат упаковки и простоту создания новых пакетов с приложениями и библиотеками. которые необходимы, гарантируя, что указанные пакеты можно легко использовать в разных дистрибутивах. В качестве участников упоминаются Dell, Samsung и Linux Foundation, а среди поддерживаемые дистрибутивы: Fedora, Ubuntu, Arch или OpenSUSE.
В этой статье будет подробно описано, как использовать Snap простым пользователем, а также приведены инструкции для разработчиков/упаковщиков. о том, как создавать снимки для использования другими. Мы будем использовать ОС Ubuntu 16.04, но приведенные ниже инструкции не составит труда адаптировать к другим дистрибутивам.
Snaps как простой пользователь
В этой части вы познакомитесь с Snap с точки зрения пользователя: как установить необходимые инструменты и как использовать их для основных повседневных задач. Применение. Во-первых, вам необходимо установить Snapcraft, пакет, который предоставляет Snap, инструмент для вышеупомянутых повседневных операций:
$ sudo apt install snapcraft
Вот и все. Теперь, прежде чем идти дальше, давайте поговорим о некоторых деталях: во-первых, приложения, предлагаемые в виде снапов, представляют собой изолированные контейнеры, что очень помогает с точки зрения ресурса. потребления, а также вопросы безопасности. Вы найдете все, что установлено с помощью Snap, в /snap/
, который, в свою очередь, имеет свою собственную иерархию: /snap/bin
, /snap/lib
и так далее. Второй, вы получаете обновления автоматически. В-третьих, воспринимайте Snap как дополнение к существующим пакетам Linux, а не как замену (ну, во всяком случае, не сейчас).
И, наконец, снимки легко интегрируется с установленным программным обеспечением, используя существующие библиотеки через интерфейсы. Как мы уже говорили ранее, ничто не заменит руководство. Итак, пока мы проведем вам экскурсию, если вы хотите углубиться, вам придется немного почитать самостоятельно. Так давайте начнем с основных операций привязки: если вы хотите найти пакет, выполните
$ snap find hello
Здесь «привет» — это пример строки, которую мы ищем. Продолжая использовать ту же строку, давайте что-нибудь установим:
$ sudo snap install hello
Вы можете просмотреть установленные снимки с помощью «списка»:
$ snap list
Обновите с обновлением либо все, что вы установили, либо только определенные снимки:
$ sudo snap refresh
OR
$ sudo snap refresh hello
Что несколько нового (да, вы можете вернуться, например, с помощью yum, и не только, но это не всегда работает так, как хотелось) — это команда «revert»:
$ sudo snap revert hello
Использование Snap в качестве разработчика
Начало настройки
Прежде всего, давайте посмотрим, что вам нужно для начала, чтобы создавать снимки. Инструмент торговли – это называется snapd, а в Ubuntu и Debian это так же просто, как
$ sudo apt install snapd snapcraft
в то время как в Fedora вы можете сделать
$ sudo dnf copr enable zyga/snapcore
$ sudo dnf install snapd
$ sudo systemctl enable --now snapd.service
$ sudo setenforce 0
$ sudo $editor /etc/selinux/config #set SELINUX=permissive and reboot to make SELINUX settings permanent
вот и все. Однако есть одна загвоздка. Хотя эти инструменты работают с большинством основных дистрибутивов Linux, Snapcraft — инструмент, который мы собираемся использовать. установить и использовать, чтобы мы могли научиться создавать снимки, насколько нам известно, доступен в репозиториях Ubuntu и AUR. Остальная часть пользователям Linux просто нужно будет клонировать репозиторий git (https://github.com/snapcore/snapcraft) и собрать его.
Экскурсия и создание снимков
Прежде чем мы продолжим, обратите внимание, что ваши снимки (или существующие) будут и остаются больше, чем соответствующие пакеты репозитория. Почему? Потому что они также содержат все зависимости, необходимые для работы программ, поэтому в каком-то смысле они самодостаточны. После установки Snapcraft рекомендуется совершить экскурсию:
$ snapcraft tour
Эта команда инициализирует некоторые каталоги и подкаталоги (по умолчанию в ./snapcraft-tour
), и вы получите исходный код. образцы, инструкции и пронумерованные шаги, которые помогут вам освоить основы. Например, первый шаг: а как еще? Привет, мир. Тип
$ cd snapcraft-tour/00-SNAPCRAFT/01-easy-start
и вы увидите там только файл .yaml, который, по сути, является файлом, описывающим привязку. Посмотрите на это, вы увидите что он определяет имя, что получать, откуда, какое приложение будет получено и так далее. После этого просто бегите
$ snapcraft
внутри указанного выше каталога, и он сделает все необходимое и даст вам возможность. Указанную оснастку можно установить, если вы все еще в каталоге, который мы упомянули выше, с
$ sudo snap install ./hello*.snap
Потратьте некоторое время, чтобы поиграться с файлом .yaml — всегда полезно сделать его копию. Посмотрите, что произойдет, если вы измените некоторые из них. переменные и узнайте, как ваши изменения влияют на создание привязки. Помните, что вы всегда можете распространить снимок на вашим друзьям или создайте для него репозиторий. И последнее замечание: раздел «источник» в .yaml имеет URL-адрес в качестве значения, но вы также можете иметь локальное значение, например ./src/my_dep/
.
Последние слова
Заметьте, мы едва прикоснулись к снимкам, но есть чему поучиться и чем заняться. щелкает! Непрекращающаяся проблема, связанная с тем, что программное обеспечение упаковывается только в виде, скажем, RPM-файлов и доставляет пользователям Debian головную боль, когда это необходимо, для пример, кажется, закончился. Как всегда, мы призываем вас поиграть со снимками, создать их и не забыть поделиться! Веселиться!