Михаил Пожидаев («Альт Линукс») об отечественном менеджере пакетов Deepsolver Евгений Крестников
Михаил Пожидаев («Альт Линукс») об отечественном менеджере пакетов Deepsolver
Евгений Крестников
Опубликовано 13 июля 2012 года
Существующие менеджеры пакетов для Linux часто критикуют за высокую для неопытных пользователей сложность, трудности с разрешением зависимостей между пакетами и тому подобные вещи. О новых подходах к управлению установленными программами задумываются разработчики многих дистрибутивов, и российские компании не исключение. Инженер-программист «Альт Линукс», кандидат технических наук Михаил Пожидаев рассказал «Компьютерре» о Deepsolver — перспективной разработке, которая может заменить в дистрибутивах ALT Linux использующийся сейчас "Advanced Packaging Tool" (APT).
- Что такое Deepsolver, и зачем он нужен? Какие задачи должен решать продукт, и какова его архитектура?
- Главная задача проекта — управление установленными программами. Deepsolver должен стать платформой, на основе которой могут создаваться различные утилиты поддержки операционной системы в актуальном и целостном состоянии. Дизайн проекта разбит на три основные компоненты: подсистема внесения изменений в ОС, подсистема управления информацией о пакетах и подсистема обслуживания репозиториев в сети. Внутри каждой компоненты предусмотрены различные механизмы унификации, делающие реализации ключевых алгоритмов взаимозаменяемыми.
- Продукт работает только с rpm? Есть ли возможность «подружить» его с другими пакетными менеджерами?
- Архитектурно это возможно. Начальная реализация предполагает взаимодействие с rpm в том виде, в каком он используется в ALT Linux. Мы надеемся, что появление других интерфейсов к пакетным системам — это вопрос времени. Возможно, своими силами предложим реализацию для rpm из Fedora.
- Речь идёт только о системе управления пакетами, а не, скажем, о неком сервисе автосборки по типу OBS или ABF?
- В ALT Linux сборка пакетов осуществляется в изолированной chroot-среде, обслуживанием которой занимается Hasher. Наполнение среды основано на сборочных зависимостях, обработка которых выполняется менеджером пакетов. Таким образом, сам Deepsolver автоматизированной сборкой не занимается, но является одним из ключевых компонентов в решении этой задачи.
- Как возникла идея создать замену APT? Чего не хватает в существующей системе, и в чём преимущество Deepsolver над аналогичными решениями?
- Здесь немалую роль играет понятие свободы и независимости. Отрицать этого нельзя. В сообществе есть множество идей и предложений, как сделать управление программами проще и понятней. Возможность их сначала экспериментального, а затем и постоянного внедрения — вопрос перспективности дистрибутива. В частности, ситуация, когда пакеты с пользовательскими приложениями идут вперемешку с пакетами библиотек, вспомогательных данных и пр., явно не может способствовать распространению дистрибутива среди массовых пользователей: человек просто теряется. У нас устойчивой была тема формирования списка доступных программ на основе desktop-файлов в сочетании с дополнительной идеей удаления пакетов-библиотек после удаления использующих их приложений. Хорошо это или плохо — так делать, сказать наперёд никто не может, это надо пробовать; шансы хорошие, но более конкретного ответа пока нет. По этой причине информационная подсистема у нас выделена в отдельную компоненту, в которой можно делать многие вещи, не боясь задеть скрупулёзно настраиваемый механизм обработки зависимостей.
С обработкой зависимостей тоже не всё просто. Уже не секрет, что точная обработка запроса пользователя на установку или удаление программы в нынешнем Linux — это NP-полная задача, то есть в точной постановке с гарантированным ответом нерешаемая. Научные материалы предлагают ряд приближенных эвристических алгоритмов, и на их основе есть реализации библиотек обработки зависимостей пакетов, как, например, libsolv, но мы говорим в том числе и о задаче формирования сборочного окружения, в которой какое-либо приближённое или вероятностное поведение нежелательно.
Собственная реализация обработки зависимостей Deepsolver основана на полиномиальном полностью детерминированном алгоритме с наложением некоторых дополнительных ограничений на задачу, которая должна дать гарантированный минимум, подходящий под требования промышленного применения. Последующее добавление приближенных алгоритмов без ограничений на задачу не запрещается, обязательно будем пытаться делать это, чтобы удобство пользователя попутно не страдало. Начнём, скорее всего, с попытки задействования libsolv. Если всё пройдёт удачно — отлично, если же нет — выполним свою реализацию minisat или другого подходящего алгоритма.
Deepsolver предоставляет некоторый достаточный и отшлифованный минимальный функционал по умолчанию, но прочие идеи не запрещаются. Это одно из ключевых положений нашей архитектуры. В целом подобных деталей очень много, и устраниться от них нельзя. Реализовать их в APT крайне тяжело, это был бы в любом случае почти новый APT, не говоря уже о том, что скорость работы существующей системы не удовлетворяет современным требованиям масштабируемости.
- Deepsolver создан с нуля или является развитием уже существующих систем управления пакетами?
- Разработка ведётся с чистого листа, но с использованием различных вспомогательных библиотек, как, например, libcurl и пр.
- Кто занимается разработкой Deepsolver? Это проект «Альт Линукс» или возникшего вокруг продуктов компании сообщества?
- Разработку ведут сотрудники компании на постоянной основе. Руководство проектом и принятие основных технических решений выполняет Дмитрий Левин, который занимается основными техническими вопросами в компании. Для меня реализация и отладка компонентов Deepsolver — это основная рабочая задача. Да, это во всех отношениях проект «Альт Линукс», идея появилась непосредственно внутри компании. Но и сообщество принимает достаточно активное участие в обсуждении деталей развития. В частности, идеи для будущей реализаций мы берём прежде всего из сообщества, и в них нет недостатка.
- Есть ли у «Альт Линукс» планы по отказу от APT и переходу на новую систему управления пакетами?
- Ответ на вопрос об отказе от APT даст только время. Как бы то ни было, абсолютно неразумно разрабатывать Deepsolver, предполагая сохранение APT. Сроки работы мы оцениваем только приблизительно. Здесь необходимо найти компромисс между определением минимальных функций первой стабильной версии и наличием реализации новых идей, которые подтверждают, что Deepsolver является действительно чем-то новым, а не просто переписанным старым. Сейчас в активной разработке базовый компонент, который отвечает за вычисление списков пакетов для внесения изменений в состояние ОС. Это самый рисковый этап, после преодоления которого многое должно стать проще. Думаю, работа над ним продлится до конца лета, если не будет неожиданных трудностей. Не хотелось бы затягивать появление первой стабильной версии более, чем, скажем, на ближайший год, но это работа с сильной исследовательской составляющей, поэтому мы только предполагаем.
- Deepsolver — это свободный продукт? На каких условиях будут распространяться его исходные тексты?
- Да, безусловно. Сейчас выбрана GPL v.2, но в сообществе уже указывалось на необходимость изменения лицензии библиотечной части Deepsolver на LGPL. Этот вопрос пока не закрыли, но точно можно говорить, что это будет одна из распространённых свободных лицензий.
- Почему вы хотите распространять библиотечную часть на условиях LGPL? Предполагается возможность линковки с какими-то проприетарными компонентами?
- Да, дело именно в этом, но просьба о возможности линковки с проприетарными продуктами пришла из сообщества. Каких-либо причин препятствовать этому, кажется, нет, поэтому, скорее всего, поменяем лицензию библиотеки на LGPL. Какие именно продукты и проекты планируют участники сообщества, мы не знаем, но в любом случае готовы поддержать это направление.
- Насколько велик интерес к Deepsolver в сообществе ALT Linux? Интересуются ли продуктом сторонние разработчики свободного ПО (скажем, создатели других дистрибутивов GNU/Linux)?
- В достаточном интересе внутри сообщества «ALT Linux» сомневаться не приходится. В целом это легко объяснимо, поскольку APT стал всё чаще и чаще восприниматься как один из основных компонентов, сдерживающих развитие системы. В нашем списке-рассылке есть разработчики зарубежных дистрибутивов, и были общие отзывы от людей, принимающих активное участие в разработке свободных проектов. В случае списка рассылки Deepsolver есть проблема языкового барьера. Список объявлен двуязычным, но активное обсуждение продолжает вестись на русском языке. Разумеется, всё это не может способствовать интеграции иностранных разработчиков в наше сообщество, и я, увы, пока не вижу выхода из ситуации. Пытаемся сглаживать проблему поддержкой англоязычной версии сайта, периодически обращая внимание, что переход на английский язык необходим.
К оглавлению
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Зачем HP купил Palm Крестников Евгений
Зачем HP купил Palm Крестников Евгений Компанию Palm приобрела HP. Дела у Palm в последнее время шли из рук вон плохо, а на складах скапливались смартфоны, которые мало кто покупал. В результате, компания была выставлена на продажу.Информация об этом циркулировала в
Аналитик Михаил Елашкин о конфликте Oracle и Google Крестников Евгений
Аналитик Михаил Елашкин о конфликте Oracle и Google Крестников Евгений Опубликовано 13 августа 2010 года "Компания Oracle начала патентную войну с Google. Поисковый гигант обвиняется в незаконном использовании технологий, права на которые Oracle приобрела вместе с
О банкротстве Mandriva из первых рук Евгений Крестников
О банкротстве Mandriva из первых рук Евгений Крестников Опубликовано 16 января 2012 года Первая рабочая неделя нового года преподнесла нам сюрприз: в Сети заговорили о возможной остановке деятельности и банкротстве французской компании Mandriva,
Российские IT-компании за рубежом: ЦРТ Евгений Крестников
Российские IT-компании за рубежом: ЦРТ Евгений Крестников Опубликовано 24 декабря 2010 года - Продукты вашей компании разрабатываются только в России, или у вас есть и зарубежные центры разработки? - Большая часть программных продуктов ЦРТ
Алексей Новодворский («АЛЬТ Линукс») о НПП Евгений Крестников
Алексей Новодворский («АЛЬТ Линукс») о НПП Евгений Крестников Опубликовано 30 сентября 2011 года На днях были опубликованы результаты проводящегося Министерством связи и массовых коммуникаций Российской Федерации конкурса. В части лота №4
LTE: Теория заговора Крестников Евгений
LTE: Теория заговора Крестников Евгений Опубликовано 03 августа 2010 года Технология мобильной связи 3GPP Long Term Evolution (LTE) является развитием стандартов CDMA и UMTS. Теоретическая максимальная скорость передачи данных в сетях 3GPP LTE достигает 326,4 Мбит/с на приём
Red Hat и SAP: состоится ли сделка? Евгений Крестников
Red Hat и SAP: состоится ли сделка? Евгений Крестников ОпубликованоЕвгений Крестников Слухи о поглощении компании Red Hat крупной софтверной корпорацией ходят уже давно. Пока эксперты скептически оценивают вероятность подобного развития событий. Одна из
CIO: разговоры о Linux Крестников Евгений
CIO: разговоры о Linux Крестников Евгений Опубликовано 10 июня 2010 года International CIO Congress «White Nights» — главная независимая площадка обмена опытом и выявления тенденций развития ИТ-рынка Северо-Запада России. Корреспонденты «Компьютерры» побывали на
OpenOffice.org разветвился от страха Евгений Крестников
OpenOffice.org разветвился от страха Евгений Крестников ОпубликованоЕвгений Крестников Встречается мнение, что встраивая продукты Sun Microsystems в свою инфраструктуру, Oracle будет активно отсекать проекты, не приносящие явной прибыли. Его обоснованность уже
Павел Фролов («ГНУ/Линуксцентр») о НПП Евгений Крестников
Павел Фролов («ГНУ/Линуксцентр») о НПП Евгений Крестников Опубликовано 27 декабря 2011 года В интервью с Дмитрием Комиссаровым мы вкратце затронули тему финансово-экономического обоснования внедрения разработанных в рамках национальной
Алексей Новодворский («АЛЬТ Линукс») о национальной ОС Опубликовано 02 сентября 2010 года
Алексей Новодворский («АЛЬТ Линукс») о национальной ОС Опубликовано 02 сентября 2010 года Опубликовано 02 сентября 2010 года - О национальной ОС на основе GNU/Linux сейчас много говорят. Возникает ощущение, что чиновники и журналисты плохо понимают
Альтернативные оболочки и ОС для нетбуков Евгений Крестников
Альтернативные оболочки и ОС для нетбуков Евгений Крестников Опубликовано 30 ноября 2010 года Компания ASUS выпустила в 2007 году знаменитый EeePC 701, первый массовый нетбук, таким образом основав новую категорию на рынке ноутбуков. Тем не менее своим
Стучит ли «Линукс» в АНБ? И куда дальше, Линус? Евгений Золотов
Стучит ли «Линукс» в АНБ? И куда дальше, Линус? Евгений Золотов Опубликовано 20 сентября 2013 Линус Торвальдс — «великодушный диктатор», по сей день возглавляющий крупнейший open source-проект на планете Земля, — редко попадает в заголовки новостей. Его
Робот за тридцать минут Евгений Крестников
Робот за тридцать минут Евгений Крестников Опубликовано 31 августа 2012 года Edumandriva и ряд других свободных проектов. Сейчас он работает над версией робоплатформы для вузов и предприятий. Об открытом железе мы пишем нечасто. Не так давно появился
Алексей Новодворский ("АЛЬТ Линукс") о НПП
Алексей Новодворский ("АЛЬТ Линукс") о НПП Автор: Евгений КрестниковОпубликовано 30 сентября 2011 годаНа днях были опубликованы результаты проводящегося Министерством связи и массовых коммуникаций Российской Федерации конкурса. В части лота №4 (Разработка прототипов