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

По мнению разработчика, CDE может оказаться полезным для быстрой упаковки приложений для последующего развертывания в Cloud-окружениях или для ознакомительного обмена программами (для запуска не требуется установка, программу можно опробовать и безболезненно удалить). Гарантированная идентичность выполнения программы для разных систем позволяет использовать CDE для ознакомления коллег с результатами эксперимента, для предварительной оценки перед внедрением, для тестирования различных версий одного приложения или для демонстрации каких-либо проблем, воспроизводимых только в определенном программном окружении. CDE также окажется полезным при необходимости выполнения какого-то приложения на постороннем компьютере, на котором имеется только пользовательский аккаунт и нет возможности доустановить необходимые для работы приложения библиотеки и пакеты.

Еще одно полезное применение CDE - обеспечение возможности запуска свежих программ, работающих только в новейших дистрибутивах, на устаревших и давно не поддерживаемых системах, собрать бинарные файлы для которых из-за устаревания библиотек не представляется возможным. При этом обязательным условием является наличие одной серии Linux-ядер (программу из системы с ядром 2.6.x не перенести на систему с ядром 2.4.x) и идентичность процессорной архитектуры. Отдельно можно отметить, что упакованные в CDE программы выполняются без дополнительной изоляции от основной системы, т.е. могут представлять угрозу с точки зрения безопасности (для выполнения подозрительных программ можно использовать такие утилиты, как sandbox и isolate).

Использование системы предельно упрощено, для создания переносимого пакета достаточно запустить нужную программу или скрипт под управлением утилиты "cde". Например, запуск "cde gimp" отследит все используемые в процессе работы программы gimp библиотеки, скрипты, плагины, файлы конфигурации и данные, после чего скопирует необходимые файлы из текущей системы и сформирует пакет. На другой системе пользователю достаточно просто запустить "cde" с указанием нужного пакета.

Источник: http://www.opennet.ru/opennews/art.shtml?num=28645