The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

19.03.2016 10:12  Выпуск xdg-app 0.5.0, изолированных контейнеров для графических приложений

Представлен выпуск инструментария xdg-app, предназначенного для организации распространения графических приложений в самодостаточных контейнерах, не привязанных к конкретному дистрибутиву Linux и надёжно изолирующих приложение от остальной системы. Контейнеры позволяют упростить распространение сторонних программ, не входящих в штатные репозитории дистрибутивов, за счет подготовки одного универсального контейнера без формирования отдельных сборок для каждого дистрибутива.

При создании проекта были поставлены две ключевые цели: предоставление разработчикам сторонних программ возможности создавать и распространять приложения, работающие в разных дистрибутивах, и обеспечение работы с минимальным доступом к системе (доступ только к сетевым функциям и файлам пользователя, связанным с приложением). Отмечается, что в выпуске xdg-app 0.5.0 полностью реализована вся функциональность, необходимая для достижения первой цели. В том числе доступны средства для сборки контейнеров приложений, поддержки различных графических фронтэндов, использования в различных дистрибутивах. В будущем внимание планируется сосредоточить на развитии средств для sandbox-изоляции и проброса данных в контейнер.

Особенности xdg-app 0.5.0:

  • Новая библиотека libxdg-app, предоставляющая API для создания графических интерфейсов, работающих поверх xdg-app. Например, библиотека задействована для поддержки контейнеров-приложений в gnome-software и Papyros software center.
  • Поддержка обработки метаданных AppData, определяющих такую видимую пользователю информацию о пакете, как имя программы, описание, пиктограммы, скриншоты и списки изменений. Интеграция AppData позволила обеспечить в gnome-software удобную навигацию по репозиториям xdg-app;
  • Упрощён интерфейс командной строки, доступный через утилиту xdg-app;
  • Добавлена новая утилита xdg-app-helper, упрощающая процесс сборки приложений в форме окружений xdg-app;
  • Реализована возможность формирования однофайловых образов приложений, которые можно использовать для поставки приложения на физическом носителе;
  • Готовые пакеты сформированы для дистрибутивов Fedora, Ubuntu, Debian, Arch Linux и Mageia.

Изолированное окружение формируется из типового системного окружения (runtime), устанавливаемого через специальный репозиторий, и дополнительных зависимостей (bundle), связанных с приложением. В сумме runtime и bundle образуют начинку контейнера, при том, что runtime устанавливается отдельно и привязывается сразу к нескольким контейнерам, что позволяет обойтись без дублирования общих для контейнеров системных файлов. В одной системе может быть установлено несколько разных runtime (GNOME, KDE) или несколько версий одного runtime (GNOME 3.16, GNOME 3.18), в зависимости от требований используемых программ. Контейнер с приложением в качестве зависимости использует привязку только к определённому runtime, без учета отдельных пакетов, из которых состоит runtime. Все недостающие элементы упаковываются непосредственно вместе с приложением. При формировании контейнера содержимое runtime монтируется как раздел /usr, а bundle монтируется в директорию /self.

Начинка runtime и контейнеров приложений формируется с использованием технологии OSTree, при которой образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree. Отдельная установка и обновление пакетов внутри рабочего окружения не поддерживается, система обновляется не на уровне отдельных компонентов, а целиком, атомарно меняя своё состояние. Предоставляются средства для инкрементального применения обновлений, избавляющие от необходимости полной замены образа при каждом обновлении.

Формируемое изолированное окружение полностью независимо от используемого дистрибутива, не имеет доступа к файлам и процессам пользователя или основной системы, не может напрямую обращаться к оборудованию, за исключением вывода через DRI, и сетевой подсистеме. Вывод графики и организация ввода реализована при помощи протокола Wayland (X11 не поддерживается). Взаимодействия со внешней средой построено на основе системы обмена сообщениями kdbus. Для изоляции используются традиционные для Linux технологии контейнерной виртуализации, основанные на использовании cgroups, пространств имён (namespaces) и SELinux. Для вывода звука применяется PulseAudio.

  1. Главная ссылка к новости (https://blogs.gnome.org/alexl/...)
  2. OpenNews: Началось тестирование ОС Subgraph, использующей контейнерную изоляцию приложений на десктопе
  3. OpenNews: Первый выпуск инструментария для запуска приложений GNOME в изолированных контейнерах
  4. OpenNews: Представлено первое полностью изолированное приложение для GNOME
  5. OpenNews: Разработчики GNOME развивают систему контейнеров для запуска графических приложений
  6. OpenNews: Red Hat и Docker развивают систему изолированных контейнеров для десктоп-приложений
Лицензия: CC-BY
Тип: Программы
Ключевые слова: xdg-app
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Admino, 10:38, 19/03/2016 [ответить] [смотреть все]
  • –2 +/
    > не может напрямую обращаться к оборудованию, за исключением вывода через DRI, и сетевой подсистеме
    > (X11 не поддерживается).

    Типа сеть у приложения есть, а X11 пользоваться нельзя. А как они этого добились?

     
     
  • 2.5, XXasd, 11:52, 19/03/2016 [^] [ответить] [смотреть все] [показать ветку]
  • –2 +/
    Очередной дурачёк который думает что сетевое взаимодействие программ сервер к... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.28, Аноним, 11:36, 21/03/2016 [^] [ответить] [смотреть все]  
  • +/
    > дурачок
     
  • 2.6, Аноним, 11:53, 19/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Элементарно X-сервер запускется без поддрежки TCP это и так по умолчанию в бол... весь текст скрыт [показать] [показать ветку]
     
  • 2.19, Аноним, 22:18, 19/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Over 9000 способов Например, в контейнере может быть свой localhost и отдельный... весь текст скрыт [показать] [показать ветку]
     
  • 1.2, Штунц, 11:25, 19/03/2016 [ответить] [смотреть все]  
  • +/
    > возможности создавать и распространять приложения, работающие в разных дистрибутивах

    Если бы это возможность изначально присутствовала в Linux, то давно бы уже на половине десктопов стоял, т.к. у производителей софта пропала бы преграда, мешающая один раз скомпилированному приложению работать везде и всегда

     
     
  • 2.4, Аноним, 11:45, 19/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Какой-то кукарек подобный гетзефакс.
     
  • 2.12, angra, 12:36, 19/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Прикинь, эта возможность давным давно присутсвует в линукс в той же мере что и в... весь текст скрыт [показать] [показать ветку]
     
  • 2.20, Аноним, 22:19, 19/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Все системные компоненты давно присутствуют Вопрос в запускалке и программах ... весь текст скрыт [показать] [показать ветку]
     
  • 2.29, Клыкастый, 13:24, 21/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    в этом месте впердоливатели проприетари испытывают попаболь и учащённое сердцеби... весь текст скрыт [показать] [показать ветку]
     
  • 1.3, Меломан1, 11:35, 19/03/2016 [ответить] [смотреть все]  
  • –4 +/
    Виндовый скайп запихали бы в контейнер пусть даже весил бы 2 гб, но что бы в реп... весь текст скрыт [показать]
     
     
  • 2.7, Аноним, 12:08, 19/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    вот поэтому я не использую федору и дебиан не проще юзать убунту и ничего ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.8, Аноним, 12:18, 19/03/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Не проще юзать source-based дистрибутивы и ставить то что душе угодно?
     
     
  • 4.9, Константавр, 12:27, 19/03/2016 [^] [ответить] [смотреть все]  
  • +5 +/
    Не проще. Когда начнёшь канпелять сам, поймёшь.
     
     
  • 5.16, Аноним, 18:22, 19/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Компиляю на протяжении 5 лет трудностей не наблюдаю Через distcc на это делается... весь текст скрыт [показать]
     
     
  • 6.18, Константавр, 22:15, 19/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Скомпиляй ка мне это http ccwu me vsfm Только всё, с зависимостями Как ском... весь текст скрыт [показать]
     
     
  • 7.24, Ordu, 16:41, 20/03/2016 [^] [ответить] [смотреть все]  
  • +4 +/
    Если ебилд написан ручками -- это считается за компиляцию ручками А если компил... весь текст скрыт [показать]
     
     
  • 8.26, Константавр, 18:52, 20/03/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    Ребёнок уж не знаю, кто ты, мальчик или девочка Ты не в состоянии найти сорцы... весь текст скрыт [показать]
     
     
  • 9.27, angra, 09:51, 21/03/2016 [^] [ответить] [смотреть все]  
  • +2 +/
    Я тоже не вижу сорцов на той странице Архивы с готовыми бинарниками или бинарны... весь текст скрыт [показать]
     
  • 9.31, Аноним, 13:33, 21/03/2016 [^] [ответить] [смотреть все]  
  • +/
    типичный ТЛД FAQ-7 Is VisualSFM open sourced Programmable control of VisualSF... весь текст скрыт [показать]
     
     
  • 10.32, Константавр, 14:15, 21/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Правильно, это проект института, который частично открыл код для некоммерческого... весь текст скрыт [показать]
     
     
  • 11.33, Аноним, 14:27, 21/03/2016 [^] [ответить] [смотреть все]  
  • +/
    However, I have already open-sourced SiftGPU feature detection matching and ... весь текст скрыт [показать]
     
     
  • 12.34, Константавр, 17:05, 21/03/2016 [^] [ответить] [смотреть все]  
  • –1 +/
    Их можно сомпилить со своими опциями, например просто sift, не на gpu и пр испо... весь текст скрыт [показать]
     
  • 4.13, Меломан1, 12:39, 19/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Нет желания и времени разбираться в ошибках компиляции ... весь текст скрыт [показать]
     
  • 4.14, all_glory_to_the_hypnotoad, 14:17, 19/03/2016 [^] [ответить] [смотреть все]  
  • +1 +/
    Проще. Только кто же тебе сорцы даст проприетарного дерьма? Эти контейнеры делают для дистрибуции проприетарщины.
     
  • 3.11, Меломан1, 12:35, 19/03/2016 [^] [ответить] [смотреть все]  
  • +/
    > вот поэтому я не использую федору и дебиан....;) не проще юзать убунту
    > и ничего никуда не таскать?

    1. В Убунте нет DNF.
    2. В Убунте нет нового Gnome 3
    3. В Убунте нет простого и стабильного обновления системы.

     
     
  • 4.15, Аноним, 16:26, 19/03/2016 [^] [ответить] [смотреть все]  
  • –2 +/
    В Федоре уже можно, без плясок с контейнерами, сhroot-ами или самосборкой постав... весь текст скрыт [показать]
     
  • 4.21, Аноним, 23:11, 19/03/2016 [^] [ответить] [смотреть все]  
  • +/
    Там apt Он лучше В 16 04 вроде 3 18 будет По сравнению с федорой Да ты жирны... весь текст скрыт [показать]
     
     
  • 5.23, Аноним, 15:46, 20/03/2016 [^] [ответить] [смотреть все]  
  • +5 +/
    Во-первых в Fedora вот вот Gnome 3 20 завезут, во-вторых в целях производительно... весь текст скрыт [показать]
     
  • 4.25, BrainFucker, 18:00, 20/03/2016 [^] [ответить] [смотреть все]  
  • +/
    > 3. В Убунте нет простого и стабильного обновления системы.

    Наглая ложь, всегда прекрасно обновлялась Убунта. Вот например скринкаст записал: http://videobin.org/+88w/b20.ogg (14.04 → 14.10)

    И ещё вот: https://www.linux.org.ru/gallery/screenshots/6124095 (чел ради эксперимента последовательно обновил Убунту от 4.10 до 11.04).

     
  • 1.10, Sunderland93, 12:32, 19/03/2016 [ответить] [смотреть все]  
  • –1 +/
    Ждём поддержки в KDE Discover (Muon)
     
  • 1.17, Аноним, 20:42, 19/03/2016 [ответить] [смотреть все]  
  • +/
    У меня почти ничего этого нет Я нормален Либо это нужно чтобы клепать GUI для ... весь текст скрыт [показать]
     
     
  • 2.30, Клыкастый, 13:29, 21/03/2016 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >> основанные на использовании cgroups, пространств имён (namespaces) и SELinux.
    > Либо это нужно чтобы клепать GUI для админов, либо я чего-то не понимаю...

    никто не заставляет использовать, но уж представлять юскейс SELinux уж как-то можно...

     
     
  • 3.35, Crazy Alex, 02:39, 24/03/2016 [^] [ответить] [смотреть все]  
  • +/
    На десктопе у него один юзкейс - защищать безгололового идиота, который не ведает, что творит, от самого себя. Во всяком случае, вменяемый пользователь даже на винде при аккуратности мог сидеть за файрволлом (не встроенным в винду, конечно) без антивируса и не иметь проблем. В линуксе - и подавно.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor