URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 101293
[ Назад ]

Исходное сообщение
"Разработчики GNOME развивают систему контейнеров для запуска..."

Отправлено opennews , 23-Янв-15 21:00 
Маттиас Класен (Matthias Clasen), лидер Fedora Desktop Team и участник GNOME Release Team, рассказал (http://blogs.gnome.org/mclasen/2015/01/21/sandboxed-applicat.../) о состоянии разработки механизма (https://wiki.gnome.org/Projects/SandboxedApps) поставки программ для GNOME в форме изолированных контейнеров, включающих все необходимые для работы приложения зависимости и не привязанных к конкретному дистрибутиву Linux. Подобные контейнеры позволят упростить распространение сторонних программ, не входящих в штатные репозитории дистрибутивов, за счет подготовки одного универсального контейнера без формирования отдельных сборок для каждого дистрибутива. Конечному пользователю установка подобных контейнеров даст гарантию, что приложение будет надёжно отделено от основной системы, а также позволит не нагромождать систему дополнительными зависимостями и пакетами.

Сообщается, что проект достиг состояния, пригодного для проведения экспериментов энтузиастами. Для изоляции приложения используются традиционные для Linux технологии контейнерной изоляции, основанные на использовании cgroups, пространств имён (namespaces) и SELinux. Для взаимодействия со внешней средой используется система обмена сообщениями kdbus (http://www.opennet.me/opennews/art.shtml?num=41478). Вывод графики и организация ввода осуществляется при помощи протокола Wayland (X11 не поддерживается).


Окружение в котором работает приложение формируется из типового системного runtime-окружения и связанных с приложением дополнительных зависимостей (bundle). В сумме runtime и bundle образуют начинку контейнера. Для использования в одной системе может быть установлено несколько разных runtime (GNOME 3.14, KDE 5.6) или несколько версий одного runtime (GNOME 3.14, GNOME 3.16), в зависимости от требований используемых программ. При этом bundle c программой в качестве зависимости использует только привязку к определённому runtime, без учета отдельных пакетов, из которых состоит runtime. Все недостающие  элементы упаковываются непосредственно вместе с приложением в bundle.

При формировании контейнера содержимое runtime монтируется как раздел /usr, а bundle монтируется в директорию /self. Для разработчиков приложений предлагается расширенный developer runtime, который выступает в роли аналога SDK и включает помимо файлов, используемых для запуска программы, компоненты, требуемые для сборки приложения. Командой "xdg-app run" осуществляется формирование контейнера и запуск программы, а командой "xdg-app build" выполняется создание контейнера для сборки программы.

Распространение  runtime и приложений, а также обновлений, производится с использованием технологии OSTree (http://www.opennet.me/opennews/art.shtml?num=37750), при которой образ атомарно обновляется из Git-подобного хранилища, позволяющего применять методы версионного контроля к компонентам дистрибутива (например, можно быстро откатить систему к прошлому состоянию). RPM-пакеты транслируются в репозиторий OSTree при помощи специальной прослойки rpm-ostree (http://rpm-ostree.cloud.fedoraproject.org/). Отдельная установка и обновление пакетов внутри рабочего окружения не поддерживается, система обновляется не на уровне отдельных компонентов, а целиком, атомарно меняя своё состояние. Предоставляются средства для инкрементального применения обновлений, избавляющие от необходимости полной замены образа при каждом обновлении. В настоящее время уже запущен репозиторий (https://people.gnome.org/~alexl/gnome-sdk/repo/) с несколькими экспериментальными приложениями и runtime (https://github.com/alexlarsson/gnome-sdk-images) на основе Yocto Linux (https://www.yoctoproject.org/) и GNOME 3.15.

URL: http://blogs.gnome.org/mclasen/2015/01/21/sandboxed-applicat.../
Новость: http://www.opennet.me/opennews/art.shtml?num=41514


Содержание

Сообщения в этом обсуждении
"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 21:00 
Ах вот что оно зачем kdbus в ядро пихали, оказывается оно не только Поттеру нужно у него своя секта

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 21:15 
> оказывается оно не только Поттеру нужно

Да и идея объединить все базовые программы системы в один проект - тоже не только ему нужно.
BSDшники так уже много лет жили, а теперь удобство такой схемы начало доходить и до линуксоидов.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 22:41 
> BSDшники так уже много лет жили,

BSDшники сделали из этого какой-то полурелигиозный культ, "потому что тут так принятно". А в этой конструкции просматривается какая-то заточенность на практические сценарии использования. Ну там всякие стимы и прочая так отпиливать, напрмер.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено klx , 24-Янв-15 09:11 
Да все нормально, это наши заморочки из джерси

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 27-Янв-15 12:32 
)))))

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 22:46 
Ты, похоже, не понимаешь ничего ни в системде, ни в BSD.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено asdasd , 23-Янв-15 22:59 
> Да и идея объединить все базовые программы системы в один проект

FBSD это не один проект, это набор проектов (утилит), равно как и тот-же проект GNU это тоже набор проектов. А systemd это один большой кусок.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 23:07 
> Да и идея объединить все базовые программы системы в один проект -
> тоже не только ему нужно.
> BSDшники так уже много лет жили, а теперь удобство такой схемы начало
> доходить и до линуксоидов.

Объединить в одной директории и завязать код на друг друге это разное. systemd с udev сделал именно второе, тем самым подтолкнул разработчиков к переходу на его. Модульность и свалка кода это разные понятия. От тесной интеграции всех программ я пользы не вижу, что нужно одному Васе, второму Васе может никогда не понадобится. Представьте себе ядро Linux в котором все драйвера скомпилированы статично а не динамично. Драйвера же это базовая часть


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 24-Янв-15 11:40 
Есть 80% Вась нужно именно то, что собрано в кучу, то остальные 20% Вась либо терпят наличие чего-то лишнего либо делают свой набор либо берут набор от другого Васи из 20%. Все довольны.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено all_glory_to_the_hypnotoad , 24-Янв-15 01:09 
> BSDшники так уже много лет жили

аж так хорошо жили, что сейчас bsd нахер никому в эксплуатации не нужна. И в первую очередь из-за убогости такого подхода.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 21:34 
ага зовется Red Hat

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 21:43 
А как же интел?

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Anonimus , 23-Янв-15 21:00 
Кто смеялся над pbi в PC-BSD? Они обогнали время!

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 21:45 
> Кто смеялся над pbi в PC-BSD? Они обогнали время!

Да такие идеи постоянно всплывают http://www.opennet.me/opennews/art.shtml?num=40278
Только вот пока не особо взлетают на десктопах.

А вот на серваках уже вполне вольготно устроились, будучи важной деталью облачных технологий.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 21:14 
Если еще и дедупликацию файлов между bundle сделают, будет вообще шикарно.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Fracta1L , 24-Янв-15 07:56 
Можно для этого использовать Btrfs.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Baz , 23-Янв-15 21:17 
никогда не думал, что увижу эту фразу для графических приложений - (X11 не поддерживается)

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 22:43 
> (X11 не поддерживается)

По мнению разработчиков, секурити X11 настолько фиговая что нивелирует весь смысл контейнеров.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено KinderSurprise , 23-Янв-15 23:46 
> никогда не думал, что увижу эту фразу для графических приложений - (X11
> не поддерживается)

Это не для приложений. Это данное дермо под которое предлагают делать приложения. Для любителей ... >:-)


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено KinderSurprise , 24-Янв-15 00:32 
> Это не для приложений. Это данное дермо под которое предлагают делать приложения.
> Для любителей ... >:-)

(даже сам задумался. Как у них не поддерживается X11, если оно работает через сеть. И без всяких dbus...)


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено 3 , 23-Янв-15 21:24 
Прощай GNU/Linux!
Привет SystemD/Linux!
Вот и формат пакетов для новой оси вырисовывается...

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 21:49 
Казалось бы, при чем тут systemd/Linux? Это ж GNOME OS!

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Evolve32 , 24-Янв-15 19:27 
> Казалось бы, при чем тут systemd/Linux? Это ж GNOME OS!

http://www.opennet.me/opennews/art.shtml?num=40494


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено iZEN , 23-Янв-15 23:13 
Да, проблема в среде гноморазработчиков: PBI и Jail не для них — слишком сложно.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Алоним , 23-Янв-15 23:28 
Реинкарнация «жирных» бинарников со всеми ихними проблемами. Как в такой блоб впихнуть драйвера? Как проапдейтить зависимости когда там будет найден баг?

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 24-Янв-15 05:05 
> впихнуть драйвера?

Никак, разумеется: в кернелмоде никто не ждет код который в юзермоде надо песочницой отгораживать.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 24-Янв-15 17:53 
>> впихнуть драйвера?
> Никак, разумеется: в кернелмоде никто не ждет код который в юзермоде надо
> песочницой отгораживать.

Абажи, ещё не вечер. Будет юзерспейсный код через kdbus ядро патчить.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 23-Янв-15 23:33 
>позволит не нагромождать систему дополнительными зависимостями и пакетами

Только вот каждая такая программа будет нести с собой свой отдельный вагон библиотек, которые уже есть в системе, т.е. многократное дублирование получается.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено iZEN , 24-Янв-15 00:26 
>>позволит не нагромождать систему дополнительными зависимостями и пакетами
> Только вот каждая такая программа будет нести с собой свой отдельный вагон
> библиотек, которые уже есть в системе, т.е. многократное дублирование получается.

Там рекурсия: каждая программа тащит только нужные ей библиотеки, а библиотеки тащат только нужные им зависимые библиотеки. В итоге умозрительный "вагон" в классическом представлении превращается по сути в тележку реально востребованного кода.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Xaionaro , 24-Янв-15 09:52 
> в тележку реально востребованного кода.

На самом деле нет. Если используются shared object-ы, то тогда не проведено выкидывание неиспользуемого кода (LTO)... Да и вообще все плюсы динамической линковки исчезают (остаются лишь одни минусы [1]) в данной пакетно-контейнерной схеме.

[1] http://sta.li/faq


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 25-Янв-15 11:04 
Для систем, в которых браузер жрёт гигабайты, это очень важная проблема.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Vladjmir , 26-Янв-15 21:03 
Большинство нужных программе библиотек будет в среде исполнения runtime, а в контейнере с приложением bundle будут только те библиотеки, которых нет в runtime. Поэтому контейнер не должен содержать большого количества библиотек и уж, тем более, не должно быть избыточного дублирования одинаковых библиотек.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено ананим.orig , 24-Янв-15 00:18 
Меня интересует только один админский вопрос применительно к сабжу — предусмотрен ли штатный механизм надёжного запрета всего этого барахла?

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено iZEN , 24-Янв-15 00:28 
> Меня интересует только один админский вопрос применительно к сабжу — предусмотрен
> ли штатный механизм надёжного запрета всего этого барахла?

Да — отсутствие места на дисках, отсутствие механизма дедупликации на уровне файлов, отсутствие nullfs в Linux, в конце-концов. Всё нужно изобретать заново для этой замечательной операционной системы — есть чем занять людей в ближайшее десятилетие. :)



"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено ананим.orig , 25-Янв-15 14:52 
Не сцы, г3 в бзде тоже есть (ну или будет).
Как и аналоги системды, дбас и тд, и тп.
Так что ты тоже будешь изобретать "отсутствие свободного места".

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено all_glory_to_the_hypnotoad , 24-Янв-15 01:18 
> Меня интересует только один админский вопрос применительно к сабжу — предусмотрен ли штатный механизм надёжного запрета всего этого барахла?

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


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Vladjmir , 26-Янв-15 21:24 
Не только покупать, но и брать бесплатно. Для проприетарщиков такой подход тоже открывает кучу возможностей, но без этого Линукс не выйдет за пределы 3%. Линукс уже готов для корпоративного использования, но единственное, что его сдерживает -- это отсутствие универсального способа доставки приложений для всех дистрибутивов и слишком сильная привязка софта к конкретным пакетным менеджерам и дистрибутивам, коих вагон и маленькая тележка. Контейнеры Gnome ликвидируют эту проблему. И ведь они решают проблему поставки не только гномовских приложений, но вообще для любых графических тулкитов.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Mihail Zenkov , 26-Янв-15 23:33 
Как valve без гномовских контейнеров и виртуализаций игры распространяет?

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

Не такая там проблема, что бы такой огород городить. У меня очень переработанный lfs - нет udev/dbus/pulseaudio/systemd, busybox вместо *nix utils, не придерживаюсь строго FHS, glibc тоже существенно подрезана.

Opera ставилась без проблем. Лень было собирать LO4 - взял сборку для дебиана - ругнулась, что у меня libdbus нет. Взял libdbus с дебиана - и все заработало (без демона dbus!). Pianoteq, Unreal, ET:QW - тоже работали.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Vladjmir , 27-Янв-15 23:07 
> Как valve без гномовских контейнеров и виртуализаций игры распространяет?

Клиент Steam и игровой дивжок у них под все дистрибутивы?


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Vladjmir , 26-Янв-15 21:16 
> Меня интересует только один админский вопрос применительно к сабжу — предусмотрен ли штатный механизм надёжного запрета всего этого барахла?

Запретов не будет -- не хочешь не ставь. Реально независимые от дистрибутива контейнеры приложений будут лежать в магазинах типа Google play, Yandex store, дистрибутивных центрах приложений или на сайтах разработчиков софта, которые предпочтут собрать 1 пакет для всех дистрибутивов и выложить его на FTP.

И чем больше будет таких магазинов софта, как локальных дистрибуивных, так и публичных, тем меньше у дистрибутивов будет желания бесконечно пересобирать этот софт. Пользователи Дебиана, наконец, могут поставить в свой любимый дистрибутив самые последние версии программ, а не тот шлак, который у них есть в репах пятилетней давности.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 24-Янв-15 11:41 
Только зачем привязывать это все к гному? Запуск программ не должен быть связан с оболочкой.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Mihail Zenkov , 24-Янв-15 16:39 
Маразм крепчал ...
Давайте уж сразу образы под qemu/virtualbox для каждой программы сделаем. Так мы решим проблему не только безопасности и зависимостей, но кроссплатформенности и даже кроссархитектурности!

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 25-Янв-15 11:02 
> но каждый думал а давай

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Crazy Alex , 26-Янв-15 17:16 
Лучше даже вслух такое не говори. Неровен час...

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Vladjmir , 26-Янв-15 21:30 
Слишком большие накладные расходы. Сейчас нет недостатка в технологиях виртуализации, но что-то не слышно, чтобы они были дико популярными для распространения софта.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Anonimus , 01-Фев-15 13:44 
Да еще лучше зашить гипервизор прямо в биос и все дела.  

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено robux , 25-Янв-15 11:20 
GNOME таки укатился в ср@ную ж*пу...
Беда в том, что и Gtk и с Gstreamer за собой уволок.

И это нихрена не смешно.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Куяврег , 25-Янв-15 15:26 
> Подобные контейнеры позволят упростить распространение сторонних программ, не входящих в штатные репозитории дистрибутивов

Непонятно зачем упрощать то, что нужно запретить.


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено rachok , 26-Янв-15 00:45 
>поставки программ для GNOME в форме изолированных контейнеров, включающих все необходимые для работы приложения зависимости и не привязанных к конкретному дистрибутиву Linux

А зачем делать из линукса форточку?


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Vladjmir , 26-Янв-15 21:27 
Чтобы сделать линукс полноценной корпоративной платформой.

"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 22-Фев-15 13:02 
> Чтобы сделать линукс полноценной корпоративной платформой.

Скока стоит?


"Разработчики GNOME развивают систему контейнеров для запуска..."
Отправлено Аноним , 27-Янв-15 17:40 
jvm?