TODO/PackageManagement
Материал из ALT Linux Wiki
(Различия между версиями)
Строка 63: | Строка 63: | ||
* apt-get мы переписать не можем | * apt-get мы переписать не можем | ||
* Но мы можем сделать его окружение более дружелюбным и простым в использовании | * Но мы можем сделать его окружение более дружелюбным и простым в использовании | ||
+ | |||
+ | = Задачи = | ||
+ | |||
+ | # Сделать управление ПО понятным и простым | ||
+ | # Уменьшить количество ошибок и внештатных ситуаций | ||
+ | # Упростить управления разнообразными источниками | ||
+ | # Обеспечить атомарность операций | ||
+ | # Предоставить графические утилиты по управлению приложениями (в том числе установки из файлов) | ||
+ | # Упростить решение проблем, сделать диагностику более понятной | ||
+ | # Облегчить сопровождение (создание зеркал, очистку ненужных пакетов и кэша и т.п.) | ||
+ | |||
+ | = Предлагаемое решение = | ||
+ | |||
+ | == Библиотека libpackage == | ||
+ | * реакция на события с использованием механизма сигнал-слот | ||
+ | * использование ускорения операций и обеспечения их консистентности | ||
+ | * журналирование событий | ||
+ | |||
+ | {{todo|...}} | ||
[[Категория:Планы]] | [[Категория:Планы]] |
Версия 07:24, 8 мая 2014
Эта страница посвящена задачам улучшения управления программным обеспечением (далее — ПО) в ALT Linux.
Содержание |
Введение
Исходим из того, что мы продолжаем применять apt-get поверх rpm. В случае замены самого apt-rpm на иной пакетный менеджер предложения остаются в силе, а утилиты будут скорректированы.
Типовые случаи управления ПО
Управление ПО включает в себя:
- установку
- удаление
- обновление
- получение информации о доступном ПО
- получение информации об установленном ПО
- получение отчётов об операциях с ПО
- сопровождение зеркал
- создание собственных репозиториев
- централизованное управление установленным ПО
Источниками ПО могут быть:
- централизованные репозитории
- зеркала (полные или частичные)
- персональные репозитории
- отдельные пакеты
Текущая оснастка
TODO:
добавить описание, сделать в виде схемы
- rpm
- apt-get
- apt-shell
- apt-pipe
- synaptic
- apt-repo
- apt-indicator
- alterator-packages
- alterator-pkg
- alterator-updates
Проблемы
TODO:
возможно, сделать списком определений с подробным описанием проблемы
- продолжительность операций
- возможные ошибки указания или вообще отсутствия внешних репозиториев
- необходимость обновления индексов до операций
- при блокировании базы apt-get просто подвисает без сообщения о блокировке
- ориентация на пакеты в то время как пользователь ожидает приложений
- невозможность автопочинки apt-get при возникновении конфликтов
- обязательность парсинга вывода утилит вместо использования библиотеки
- ограничения консольного вывода apt-get (обрезание имён пакетов)
- невозможность простого отката изменений
- в графических утилитах отсутствует функция очистки пакетной базы и кэша
- консольное управление пакетами разнесено на несколько утилит (apt-get, apt-cache). Новый apt делает всё в одной утилите
- при обновлении системы невозможно указать и необходимость обновления ядра
- отсутствуют сохраняемые журналы операций с ПО
Диспозиция
- apt-get мы переписать не можем
- Но мы можем сделать его окружение более дружелюбным и простым в использовании
Задачи
- Сделать управление ПО понятным и простым
- Уменьшить количество ошибок и внештатных ситуаций
- Упростить управления разнообразными источниками
- Обеспечить атомарность операций
- Предоставить графические утилиты по управлению приложениями (в том числе установки из файлов)
- Упростить решение проблем, сделать диагностику более понятной
- Облегчить сопровождение (создание зеркал, очистку ненужных пакетов и кэша и т.п.)
Предлагаемое решение
Библиотека libpackage
- реакция на события с использованием механизма сигнал-слот
- использование ускорения операций и обеспечения их консистентности
- журналирование событий
TODO:
...