Абстракция управления пакетами с помощью D-Bus

()

Несколько недель назад Ричард Хьюс высказал идею, решающую большую часть сегодняшних проблем управления пакетами. Например если вы обновляете систему работая в X, то X может упасть и тогда база пакетов может быть серьёзно повреждена. Так же инструменты вроде yum, apt и т.п. привязаны к конкретному дистрибутиву, и создают дополнительные сложности при смене дистрибутива.

Ричард предложил использовать решение, построенное вокруг D-Bus. С одной стороны системный демон, управляющий yum/apt/что-то ещё. С другой - пользовательский интерфейс, общающийся с демоном про помощи D-Bus. Таким образом при крахе X система всё равно будет обновлена без каких-либо проблем. Да и к тому же интерфейс управления пакетами будет одинаковый для всех дистрибутивов, использующих эту систему.

В текущем состоянии PackageKit уже реализован асинхронный поиск с помощью yum или apt. Есть так же вариант приложения с консольным интерфейсом. Однако работы впереди ещё много. Предстоит добавить поддержку zypper из OpenSuSE, urpm из Mandriva и других менеджеров. Но начало уже положено. Есть рабочая модель системы.

В последнее время часто говорят про D-Bus и его универсальность. Однако если у нас есть молоток, то это вовсе не означает что каждая проблема - гвоздь. Есть ситуации где D-Bus не применим вообще или не является оптимальным решением. Однако в данной ситуации лучшее решение придумать трудно.

Конечно остаётся ещё много проблем. Например установка программного обеспечения не из официального репозитория. Но даже то что есть существенно упрощает управление пакетами и позволяет решив часть проблем уделить больше внимания оставшимся.

Источник

Ключевые слова: dbus, packagekit.

Подписаться на обновления: RSS-лента Канал в TamTam Telegram канал Канал в ICQ

Комментарии:

Shlomo 2007-08-16 16:18:59 (#)

ИНтересно. Это как mpd + client. Очень здоровая идея.

MooSE 2007-08-16 16:31:03 (#)

Почти. Я так понял что тут три уровня (начну сверху):

1) Клиент, которые по стандартному протоколу общается с сервером

2) Сервер, который по стандартному протоколу общается с клиентом и по нестандартному - с заданным пакетным менеджером (yum/apt/urpm/emerge)

3) Собственно пакетный менеджер, который и рулит пакетами.

Но если учесть что клиентов к серверу клепать будут все кому не лень - теряется основной смысл. Потому что будет как раз как с mpd - клиентый самой вычурной формы, и как ими ползоваться - сразу ине сообразишь.

Но если договориться и о стандартном виде клиентов (для базовго функционала) - глядишь всё будет нормально.

Очень надеюсь что будет нормально:)

Shlomo 2007-08-16 23:31:51 (#)

Ндя... Посмотрим, как будут заваливать хорощую идею.

MooSE 2007-08-17 08:57:59 (#)

Но кстати на скринах по ссылкам очень даже симпатично выглядит:)

Shlomo 2007-08-17 15:12:55 (#)

Интересно, насколько это реально сделать для разных дистров?

MooSE 2007-08-17 15:23:32 (#)

Ну смотри, команды поиска:

apt-search name
yum search name
emerge -S name

Команды установки:

apt-get install name
yum install name
emerge name

Ну и так далее. Так что бэкенды писать я думаю будет не трудно.
Новый комментарий

Жирный текстКурсивный текстПодчёркнутый текстЗачёркнутый текстПрограммный кодСсылкаИзображение




© 2006-2024 Вадим Калинников aka MooSE
Политика конфиденциальности