Технологию Snappy не всю, но часть её, дали попробовать в Ubuntu 16.04 Xenial Xerus. Можно уже работать со snap пакетами в CLI и GUI. Что нового в snapd 2.0.3?
Напомню, нам дали возможность использовать пакеты snap через консоль и через GUI в лице Software (GNOME Software). Новая версия snapd 2.0.3 стала доступна нашему LTS флагману Убунту 16.04.
Вы должны понять на уровне ДНК всю мощь мандатного доступа, которую обеспечивает AppArmor для заключения всех программ в темницы. Чтобы в темницах были хоть какие-то окна для связи с внешним миром, авторы программ будут заявлять нужное им через декларативный язык в YAML файле. Подробно читайте в Snappy, snapcraft и интерфейсы.
Кратко и снова привожу пример для текстового браузера links
name: links version: 2.12-1 summary: Web browser running in text mode apps: links: command: links plugs: [network, network-bind]
plugs: [network, network-bind] - просьба пристыковать программу links к слотам, дающим сеть. Кстати, если посмотреть доступные слоты, которые обычно (в основном) предоставляет пакет snap операционной системы Убунту, то можно заметить слот home.
snap interfaces
Slot Plug :firewall-control - :home - :locale-control - :log-observe - :mount-observe - :network links,nmap :network-bind links,nmap :network-control - :network-observe - :opengl - :snapd-control - :system-observe - :timeserver-control - :timezone-control - :unity7 - :x11 -
Показывал пример с nmap, который приводит меня в дичайший восторг, так как наглядно показывает что мне больше не нужно просто доверять софту даже из официальных репозиториев. Я знаю что софт в темнице будет смотреть только в те окошки, которые ему будут позволены. Вот пример как nmap не может взять файл с моего домашнего каталога
nmap -iL /home/vasilisc/report.txt
Failed to open input file /home/vasilisc/report.txt for reading
QUITTING!
Учитывая знания из статьи Соединения, пришла в мою голову гениальная мысль пристыковать nmap к слоту home и тем самым милостиво разрешить брать оттуда файлы . Но у меня пока не получилось. Знал от разработчиков про необходимость быть одинакового типа plug и slot, которые должны быть состыкованы, но что-то пока не срастается.
Что нового в обновлённом snapd? Разрабы пишут про улучшения при установке, обновлении и удалении пакетов snap в командной строке. Добавлено много различных тестов для проверки snapd, в их числе есть проверка интерфейса home, с которым у меня пока не срослось.
Overlord - пакет языка Go, реализующий общее управление Snappy системой. В него добавлен функционал unversioned data. Если я правильно понял, то можно изменить дефолтное поведение, когда новая версия программы не затирает старую и у вас для возможности отката хранятся все версии. Поддержка неверсионных данных позволит, если не вру, обладать только одной актуальной версией ПО.
Исправлен досадный баг, когда snap remove не удалял все ревизии конкретного ПО и приходилось повторять команду. Теперь snap remove удаляет =). Кстати, пока не ясен механизм удаления старых ревизий. Типа оставьте мне актуальную версию, чихать на rollback, сгинь старое в небытиё.
Из минусов: всё ещё нет функционала обновить все snap пакеты в CLI одной командой. Сейчас я использую скрипт snap list | awk -F" " '{if ($1 && NR>1) { system("snap refresh " $1 " 2>/dev/null")
или в GUI всё мне обновляет GNOME Software.
Ещё заметил интересное! Canonical к осени завершит обучение авторов стороннего, платного ПО и софт за денюжку будет только в snap пакетах. В консоли уже полезли доллары
snap find
Name Version Price Summary nmap 7.12SVN-0.4 - Nmap ("Network Mapper") is a free and open source utility for network squid3 3.5.16-2 - Squid3 web proxy systesterpro64 1.6.2-1snap 3.45USD Stress test and benchmark
Оглавление цикла статей про Snappy
Snappy дали попробовать в традиционной Убунту
Если проблемы с пакетом snap
Mozilla поддержит Snap пакеты.
Личное знакомство с Ubuntu Snappy Core. Часть 1.