[devel] Роль пакетного менеджера в хорошем дистрибутиве

Michael Pozhidaev msp на altlinux.ru
Сб Янв 12 00:36:47 MSK 2013


Привет всем!

По ходу новогодних каникул появились некоторые дополнительные мысли о
том, какие функции могут требоваться пакетному менеджеру, чтобы для
массового пользователя дистрибутив мог бы стать ещё удобнее. То, что
описано ниже, является своего рода надстройкой третьего уровня, т.е. над
Deepsolver, рассматриваемого как пакетный менеджер второго
уровня. Идея "третьего уровня" принадлежит первоначально lav@, но с его
позволения здесь тоже ею воспользуемся, хотя идейно речь идёт несколько
про другие вещи.

Идеи следующие:

1. Список фич, которые включаются и отключаются путём установки или
удаления некоторых пакетов. Типичный пример - acpid-events-power. Список
показывается в окошке с мышкой, и в нём можно расставлять
галочки. Информация о таких пакетах хранится отдельно в файле (xml,
скажем) с дополнительными тегами, что фича не должна показываться
пользователю, если какие-то из необходимых пакетов не установлены (сам
acpid, например) или дистрибутив имеет неподходящий flavor. То есть в
списке всё только такое, что пользователь действительно может хотеть
включить/выключить. И да, пока совсем неочевидно, что некоторые такие
элементы не  должны попадать в control.

2. Кластеры пакетов: то есть такие группы пакетов, которые решают одну
общую задачу. Отдаленно напоминает популярные пакеты-установщики, но
имеют человеческие описания, ds сам может обеспечить их присутствие именно
в свежих версиях из репозитория и обеспечить механизм их полного и
безопасного удаления. Описания тоже хранятся в отдельном файле. Таким образом
можно устанавливать драйверы вместе со всеми их firmware или национальные
языки. Возможно, было бы правильно в такой кластер выделять всё, что
может соответствовать некоторой строчке в Альтераторе. Кластер
установлен - строчка видна и корректно работает. Кластер пользователь
удалил - строчка пропала с полным освобождением места на диске. Тоже,
видимо, необходимо предусмотреть учёт flavor дистрибутива.

3. Особый механизм, который проследит, что заказ пакетов по предыдущим
двум пунктам не окончится неудачно по какой-нибудь глупой причине, как,
например, такая, что пользователь ещё ни разу не вызвал apt-get update и
пакетная система не знает запрошенных пакетов. Как это реализовать - не
принципиально. Как-нибудь точно можно. 

Всё это в тесной интеграции с Альтератором и в дополнение к идее выбора
приложений по desktop-файлам. Для правильной работы этих фич сам ds
должен  быть дополнен некоторыми возможностями, но это
как раз может быть реально. 

Мнения?

-- 
Michael Pozhidaev. Tomsk, Russia.
Russian info page: http://www.marigostra.ru/


Подробная информация о списке рассылки Devel